### Example Biome Placement Configuration Source: https://github.com/terraformersmc/biolith/wiki/Biome-Placement This JSON structure defines biome placement rules for different dimensions. It includes sections for adding new biomes based on noise parameters, removing existing biomes, replacing target biomes with others at a specified proportion, and defining sub-biomes with specific criteria. ```json { "additions": [ { "dimension": "minecraft:overworld", "biome": "minecraft:crimson_forest", "noise": { "temperature": { "min": -1.0, "max": -0.15 }, "humidity": { "min": -1.0, "max": -0.35 }, "continentalness": { "min": 0.3, "max": 1.0 }, "erosion": { "min": -0.375, "max": 0.05 }, "depth": { "min": 0.0, "max": 0.0 }, "weirdness": { "min": 0.0, "max": 1.0 }, "offset": 0.0 } } ], "removals": [ { "dimension": "minecraft:overworld", "biome": "minecraft:cherry_grove" } ], "replacements": [ { "dimension": "minecraft:overworld", "target": "minecraft:plains", "biome": "minecraft:warped_forest", "proportion": 0.5 }, { "dimension": "minecraft:the_nether", "target": "minecraft:warped_forest", "biome": "minecraft:end_highlands" }, { "dimension": "minecraft:the_end", "target": "minecraft:end_highlands", "biome": "minecraft:plains" } ], "sub_biomes": [ { "dimension": "minecraft:overworld", "target": "minecraft:desert", "biome": "minecraft:old_growth_pine_taiga", "criterion": { "type": "biolith:ratio", "target": "center", "max": 0.2 } } ] } ``` -------------------------------- ### Java Criterion Factories Source: https://github.com/terraformersmc/biolith/wiki/Criterion Examples of using CriterionBuilder factories in Java to create different types of criteria. These factories help in defining conditions for biome replacement. ```java CriterionBuilder.ratioMax( RatioTargets.CENTER, 0.2f); ``` ```java CriterionBuilder.alternate( ModBiomeKeys.MOD_HIGHLANDS, BiomeKeys.END_HIGHLANDS); ``` ```java CriterionBuilder.deviationMin( BiomeParameterTargets.PEAKS_VALLEYS, 0.05d); ``` -------------------------------- ### Birch Forest Surface Rule Example Source: https://github.com/terraformersmc/biolith/wiki/Surface-Generation This rule applies to the Overworld dimension and places Calcite blocks in Birch Forests. It uses a biome condition to target specific biomes. ```json { "surface_rules": [ { "dimension": "minecraft:overworld", "rules_owner": "biolith_examples:breaks_with_terrablender", "material_rules": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:biome", "biome_is": [ "minecraft:birch_forest" ] }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:calcite" } } } ] } ] } ``` -------------------------------- ### Crimson Forest Surface Rule Example Source: https://github.com/terraformersmc/biolith/wiki/Surface-Generation This rule targets the Overworld dimension and applies to areas above the preliminary surface. It specifically modifies generation within Crimson Forests based on stone depth and noise thresholds, placing Nether Wart Blocks or Crimson Nylium. ```json { "dimension": "minecraft:overworld", "rules_owner": "minecraft:rules/overworld", "material_rules": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:above_preliminary_surface" }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:biome", "biome_is": [ "minecraft:crimson_forest" ] }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0, "offset": 0 }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:noise_threshold", "noise": "minecraft:nether_wart", "min_threshold": 1.17, "max_threshold": 1E308 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:nether_wart_block" } } }, { "type": "minecraft:block", "result_state": { "Name": "minecraft:crimson_nylium" } } ] } }, { "type": "minecraft:block", "result_state": { "Name": "minecraft:netherrack" } } ] } }, { "type": "minecraft:condition", "if_true": { "type": "minecraft:biome", "biome_is": [ "minecraft:warped_forest" ] }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0, "offset": 0 }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:noise_threshold", "noise": "minecraft:nether_wart", "min_threshold": 1.17, "max_threshold": 1E308 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:warped_wart_block" } } }, { "type": "minecraft:block", "result_state": { "Name": "minecraft:warped_nylium" } } ] } } ] } } ] } } ] } ] } ``` -------------------------------- ### JSON Deviation Criterion Source: https://github.com/terraformersmc/biolith/wiki/Criterion A JSON representation of a deviation criterion. This example uses the peaks and valleys noise to add clearings to a forest, with a minimum deviation of 0.05. ```json "criterion": { "type": "biolith:deviation", "parameter": "peaks_valleys", "min": 0.05 } ``` -------------------------------- ### JSON Alternate Biome Criterion Source: https://github.com/terraformersmc/biolith/wiki/Criterion A JSON representation of an alternate biome criterion. This example lines up a modded midlands biome with its associated modded highlands biome. ```json "criterion": { "type": "biolith:alternate", "biome": "mymod:my_highlands", "secondary": "minecraft:end_highlands" } ``` -------------------------------- ### Add Biome Configuration (JSON) Source: https://github.com/terraformersmc/biolith/wiki/Multi‐Noise-Placement Configures biome additions using JSON, specifying dimension, biome, and noise parameters. Multiple additions can be defined in the 'additions' list. ```json { "additions": [ { "dimension": "minecraft:overworld", "biome": "minecraft:crimson_forest", "noise": { "temperature": { "min": -1.0, "max": -0.15 }, "humidity": { "min": -1.0, "max": -0.35 }, "continentalness": { "min": 0.3, "max": 1.0 }, "erosion": { "min": -0.375, "max": 0.05 }, "depth": { "min": 0.0, "max": 0.0 }, "weirdness": { "min": 0.0, "max": 1.0 }, "offset": 0.0 } } ] } ``` -------------------------------- ### Configure Overworld Sub-Biome with Ratio Criterion (JSON) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Placement Configures a sub-biome for the Overworld using JSON, targeting the Desert biome with Old Growth Pine Taiga based on a center ratio. ```json { "sub_biomes": [ { "dimension": "minecraft:overworld", "target": "minecraft:desert", "biome": "minecraft:old_growth_pine_taiga", "criterion": { "type": "biolith:ratio", "target": "center", "max": 0.2 } } ] } ``` -------------------------------- ### Registering a Custom Surface Builder Source: https://github.com/terraformersmc/biolith/wiki/Surface-Builders Extend `com.terraformersmc.biolith.api.surface.BiolithSurfaceBuilder` and override `generate` or `generateLate`. Register your custom builder using `SurfaceGeneration.addOverworldSurfaceRules` (or Nether/End equivalents). Configuration can be passed via the constructor. ```java SurfaceGeneration.addOverworldSurfaceRules( Identifier.of(MyMod.MOD_ID, "surface_builders"), new MySurfaceBuilder(Blocks.SAND.getDefaultState()).setBiomeKey(MyBiomeKeys.MY_BIOME)) ``` -------------------------------- ### Add Clearings to Forest Using Peaks/Valleys Noise (Java) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Matcher Use this Java code to add clearings to a forest based on the peaks and valleys noise. It employs SubBiomeMatcher.Criterion.ofMin with CriterionTargets.PEAKS_VALLEYS and CriterionTypes.DISTANCE. ```java SubBiomeMatcher.of(SubBiomeMatcher.Criterion.ofMin( SubBiomeMatcher.CriterionTargets.PEAKS_VALLEYS, SubBiomeMatcher.CriterionTypes.DISTANCE, 0.05d)); ``` -------------------------------- ### Configure Overworld Sub-Biome with Deviation Criterion (JSON) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Placement Configures a sub-biome for the Overworld using JSON, targeting a custom forest with a clearing based on Peaks and Valleys noise deviation. ```json { "sub_biomes": [ { "dimension": "minecraft:overworld", "target": "mymod:forest", "biome": "mymod:forest_clearing", "criterion": { "type": "biolith:deviation", "target": "peaks_valleys", "min": 0.05 } } ] } ``` -------------------------------- ### Add Overworld Sub-Biome with Ratio Criterion (Java) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Placement Adds a sub-biome to the Overworld based on a ratio of the biome's center noise. Requires BiomeKeys and CriterionBuilder. ```java // Adding Old Growth Pine Taiga as a sub-biome in the noise-based center of the Desert biome. BiomePlacement.addSubOverworld( BiomeKeys.DESERT, BiomeKeys.OLD_GROWTH_PINE_TAIGA, CriterionBuilder.ratioMax( RatioTargets.CENTER, 0.2f)); ``` -------------------------------- ### Define Biome Replacements as Data in JSON Source: https://github.com/terraformersmc/biolith/wiki/Biome-Replacement Configure biome replacements using a JSON structure. This allows for defining multiple replacements for different dimensions, targets, and biomes, along with their proportions. ```json { "replacements": [ { "dimension": "minecraft:overworld", "target": "minecraft:plains", "biome": "minecraft:warped_forest", "proportion": 0.5 }, { "dimension": "minecraft:the_nether", "target": "minecraft:warped_forest", "biome": "minecraft:end_highlands" }, { "dimension": "minecraft:the_end", "target": "minecraft:end_highlands", "biome": "minecraft:plains" } ] } ``` -------------------------------- ### Place Sub-Biome Near Noise Center (JSON) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Matcher This JSON configuration defines a matcher to place a sub-biome near the noise center. It uses a 'ratio' type criterion targeting the 'center' with a maximum value of 0.2. ```json "matcher": { "criteria": [ { "target": "center", "type": "ratio", "max": 0.2 } ] } ``` -------------------------------- ### Add Biome to Overworld via Noise Source: https://github.com/terraformersmc/biolith/wiki/Multi‐Noise-Placement Adds a biome to the Overworld based on noise parameters. Requires the dimension key, biome key, and a noise hypercube defining placement conditions. Familiarity with Minecraft's multi-noise biome placement is necessary. ```java BiomePlacement.addOverworld(BiomeKeys.CRIMSON_FOREST, new MultiNoiseUtil.NoiseHypercube( MultiNoiseUtil.ParameterRange.of(-1.0f, -0.15f), MultiNoiseUtil.ParameterRange.of(-1.0f, -0.35f), MultiNoiseUtil.ParameterRange.of(0.3f, 1.0f), MultiNoiseUtil.ParameterRange.of(-0.375f, 0.05f), MultiNoiseUtil.ParameterRange.of(0.0f), MultiNoiseUtil.ParameterRange.of(0.0f, 1.0f), 0L)); ``` -------------------------------- ### Place Sub-Biome Near Noise Center (Java) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Matcher Use this Java code to create a sub-biome matcher that places a sub-biome near the noise center of a biome. It utilizes Criterion.ofMax with CriterionTargets.CENTER and CriterionTypes.RATIO. ```java SubBiomeMatcher.of(Criterion.ofMax( CriterionTargets.CENTER, CriterionTypes.RATIO, 0.2f)); ``` -------------------------------- ### Remove Biome Configuration (JSON) Source: https://github.com/terraformersmc/biolith/wiki/Multi‐Noise-Placement Configures biome removals using JSON, specifying dimension and biome keys. Multiple removals can be defined in the 'removals' list. Be aware of potential world generation anomalies if removed biomes are not replaced. ```json { "removals": [ { "dimension": "minecraft:overworld", "biome": "minecraft:cherry_grove" } ] } ``` -------------------------------- ### Biolith Default Configuration Source: https://github.com/terraformersmc/biolith/wiki/Global-Configuration This JSON object represents the default configuration for Biolith. It includes settings for enabling game commands, forcing the feature indexer, and adjusting biome replacement scales for the Overworld, Nether, and End. ```json { "enable_commands": true, "force_resilient_feature_indexer": false, "overworld_replacement_scale": 4, "nether_replacement_scale": 2, "end_replacement_scale": 1 } ``` -------------------------------- ### Define Custom Surface Rules Source: https://github.com/terraformersmc/biolith/wiki/Surface-Rules Use the 'surface_rules' list to specify multiple rules for terrain generation. Each rule can target specific dimensions and apply conditional material modifications. ```json { "surface_rules": [ { "dimension": "minecraft:overworld", "rules_owner": "biolith_examples:breaks_with_terrablender", "material_rules": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:biome", "biome_is": [ "minecraft:birch_forest" ] }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:calcite" } } } ] }, { "dimension": "minecraft:overworld", "rules_owner": "minecraft:rules/overworld", "material_rules": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:above_preliminary_surface" }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:biome", "biome_is": [ "minecraft:crimson_forest" ] }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0, "offset": 0 }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:noise_threshold", "noise": "minecraft:nether_wart", "min_threshold": 1.17, "max_threshold": 1E308 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:nether_wart_block" } } }, { "type": "minecraft:block", "result_state": { "Name": "minecraft:crimson_nylium" } } ] } }, { "type": "minecraft:block", "result_state": { "Name": "minecraft:netherrack" } } ] } }, { "type": "minecraft:condition", "if_true": { "type": "minecraft:biome", "biome_is": [ "minecraft:warped_forest" ] }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0, "offset": 0 }, "then_run": { "type": "minecraft:sequence", "sequence": [ { "type": "minecraft:condition", "if_true": { "type": "minecraft:noise_threshold", "noise": "minecraft:nether_wart", "min_threshold": 1.17, "max_threshold": 1E308 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:nether_wart_block" } } } ] } } ] } } ] } } ] } ] } ``` -------------------------------- ### Replace Biomes Programmatically in Java Source: https://github.com/terraformersmc/biolith/wiki/Biome-Replacement Use these methods to define biome replacements directly in your Java code. Specify the dimension, target biome, replacement biome, and an optional proportion for the replacement. ```java BiomePlacement.replaceOverworld(BiomeKeys.PLAINS, BiomeKeys.WARPED_FOREST, 0.5d); BiomePlacement.replaceNether(BiomeKeys.WARPED_FOREST, BiomeKeys.END_HIGHLANDS); BiomePlacement.replaceEnd(BiomeKeys.END_HIGHLANDS, BiomeKeys.PLAINS); ``` -------------------------------- ### Set Biolith Version in gradle.properties Source: https://github.com/terraformersmc/biolith/blob/main/README.md Define the specific version of Biolith to be used in your project by setting the biolith_version property in gradle.properties. ```properties biolith_version=3.0.4 ``` -------------------------------- ### Nether Bedrock Floor Generation Source: https://github.com/terraformersmc/biolith/wiki/Surface-Generation Places bedrock at the floor of the Nether dimension based on a vertical gradient. ```json { "type": "minecraft:condition", "if_true": { "type": "minecraft:vertical_gradient", "random_name": "bedrock_floor", "true_at_and_below": { "above_bottom": 0 }, "false_at_and_above": { "above_bottom": 5 } }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:bedrock" } } } ``` -------------------------------- ### Nether Bedrock Roof Generation Source: https://github.com/terraformersmc/biolith/wiki/Surface-Generation Places bedrock at the roof of the Nether dimension using a negated vertical gradient. ```json { "type": "minecraft:condition", "if_true": { "type": "minecraft:not", "invert": { "type": "minecraft:vertical_gradient", "random_name": "bedrock_roof", "true_at_and_below": { "below_top": 5 }, "false_at_and_above": { "below_top": 0 } } }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:bedrock" } } } ``` -------------------------------- ### Configure End Sub-Biome with Alternate Criterion (JSON) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Placement Configures a sub-biome for The End dimension using JSON, specifying a custom midlands biome adjacent to End Highlands. ```json { "sub_biomes": [ { "dimension": "minecraft:the_end", "target": "minecraft:end_midlands", "biome": "mymod:my_midlands", "criterion": { "type": "biolith:alternate", "biome": "mymod:my_highlands", "alternate": "minecraft:end_highlands" } } ] } ``` -------------------------------- ### JSON Data Structure for Sub-Biome Placement (v2) Source: https://github.com/terraformersmc/biolith/wiki/Upgrading-v2-to-v3 This is the old JSON structure for defining sub-biomes using the `matcher` field and `invert` flag. ```json { "sub_biomes": [ { "dimension": "minecraft:overworld", "target": "minecraft:desert", "biome": "minecraft:old_growth_pine_taiga", "matcher": { "criteria": [ { "target": "center", "type": "ratio", "max": 0.2, "invert": true } ] } } ] } ``` -------------------------------- ### Add Overworld Surface Rules with Custom Biome Materials Source: https://github.com/terraformersmc/biolith/wiki/Surface-Rules Use this method to define custom surface material rules for specific biomes in the Overworld. Ensure the identifier namespace matches the biome's namespace for TerraBlender compatibility. Overriding vanilla biome rules is not permitted when TerraBlender is present. ```java MaterialRule birchForest = condition(MaterialRules.biome(BiomeKeys.BIRCH_FOREST), block(Blocks.CALCITE)); MaterialRule crimsonForest = condition(MaterialRules.biome(BiomeKeys.CRIMSON_FOREST), sequence( condition(STONE_DEPTH_FLOOR, MaterialRules.sequence( MaterialRules.condition( MaterialRules.noiseThreshold(NoiseParametersKeys.NETHER_WART, 1.17), block(Blocks.NETHER_WART_BLOCK)), block(Blocks.CRIMSON_NYLIUM))), block(Blocks.NETHERRACK))); MaterialRule warpedForest = condition(MaterialRules.biome(BiomeKeys.WARPED_FOREST), sequence( condition(STONE_DEPTH_FLOOR, MaterialRules.sequence( MaterialRules.condition( MaterialRules.noiseThreshold(NoiseParametersKeys.NETHER_WART, 1.17), block(Blocks.WARPED_WART_BLOCK)), block(Blocks.WARPED_NYLIUM))), block(Blocks.NETHERRACK))); SurfaceGeneration.addOverworldSurfaceRules( Identifier.of("minecraft", "rules/overworld"), condition(surface(), sequence(birchForest, crimsonForest, warpedForest))); ``` -------------------------------- ### Add Clearings to Forest Using Peaks/Valleys Noise (JSON) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Matcher This JSON configuration creates a matcher for adding clearings to a forest using peaks and valleys noise. It employs a 'distance' type criterion targeting 'peaks_valleys' with a minimum value of 0.05. ```json "matcher": { "criteria": [ { "target": "peaks_valleys", "type": "distance", "min": 0.05 } ] } ``` -------------------------------- ### Grass Block Generation in End Plains Source: https://github.com/terraformersmc/biolith/wiki/Surface-Generation Places a grass block with no snow in the End dimension's plains biome, contingent on stone depth. ```json { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0, "offset": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:grass_block", "Properties": { "snowy": "false" } } } } ``` -------------------------------- ### Add Biolith Dependency to build.gradle Source: https://github.com/terraformersmc/biolith/blob/main/README.md Include the Biolith mod implementation for the Fabric mod loader in your build.gradle dependencies. ```gradle dependencies { modImplementation("com.terraformersmc:biolith-fabric:${project.biolith_version}") } ``` -------------------------------- ### Netherrack Generation Rule Source: https://github.com/terraformersmc/biolith/wiki/Surface-Generation Defines a rule for generating netherrack in the Nether dimension. ```json { "type": "minecraft:block", "result_state": { "Name": "minecraft:netherrack" } } ``` -------------------------------- ### Add Terraformers Maven Repository to build.gradle Source: https://github.com/terraformersmc/biolith/blob/main/README.md Configure your build.gradle file to include the TerraformersMC maven repository for dependency resolution. ```gradle repositories { maven { name = 'TerraformersMC' url = 'https://maven.terraformersmc.com/' } } ``` -------------------------------- ### Align Modded Biomes (Java) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Matcher This Java code snippet demonstrates how to align a modded biome with its associated modded highlands biome using SubBiomeMatcher.Criterion.ofAlternate. It specifies target biomes and a boolean for alignment. ```java SubBiomeMatcher.of(SubBiomeMatcher.Criterion.ofAlternate( SubBiomeMatcher.CriterionTargets.ALTERNATE, ModBiomeKeys.MOD_HIGHLANDS, BiomeKeys.END_HIGHLANDS, false)); ``` -------------------------------- ### Align Modded Biomes (JSON) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Matcher This JSON defines a matcher for aligning a modded biome with its associated biome. It uses a 'biome' type criterion targeting 'alternate', specifying the modded and secondary biomes. ```json "matcher": { "criteria": [ { "target": "alternate", "type": "biome", "biome": "mymod:my_highlands", "secondary": "minecraft:end_highlands" } ] } ``` -------------------------------- ### Add Overworld Sub-Biome with Deviation Criterion (Java) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Placement Adds a sub-biome to the Overworld based on the deviation of the Peaks and Valleys noise parameter. Requires custom biome keys. ```java // Adding a forest clearing sub-biome to a forest, based on PV noise. BiomePlacement.addSubOverworld( myforest, myclearing, CriterionBuilder.deviationMin( BiomeParameterTargets.PEAKS_VALLEYS, 0.05d)); ``` -------------------------------- ### JSON Data Structure for Sub-Biome Placement (v3) Source: https://github.com/terraformersmc/biolith/wiki/Upgrading-v2-to-v3 This is the new JSON structure for defining sub-biomes in Biolith v3. It uses `criterion` instead of `matcher`, requires `biolith:` prefixes for types, and uses `biolith:not` for inversion. ```json { "sub_biomes": [ { "dimension": "minecraft:overworld", "target": "minecraft:desert", "biome": "minecraft:old_growth_pine_taiga", "criterion": { "type": "biolith:not", "criterion": { "type": "biolith:ratio", "target": "center", "max": 0.2 } } } ] } ``` -------------------------------- ### Biolith Block States Configuration Source: https://github.com/terraformersmc/biolith/wiki/Surface-Rules Defines the block states for various Minecraft blocks within the Biolith configuration. This structure is used to specify resulting blocks in crafting or generation processes. ```json { "type": "minecraft:block", "result_state": { "Name": "minecraft:warped_wart_block" } } ``` ```json { "type": "minecraft:block", "result_state": { "Name": "minecraft:warped_nylium" } } ``` ```json { "type": "minecraft:block", "result_state": { "Name": "minecraft:netherrack" } } ``` -------------------------------- ### Dirt Generation in End Plains Source: https://github.com/terraformersmc/biolith/wiki/Surface-Generation Places dirt in the End dimension's plains biome when surface depth conditions are met. ```json { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "surface_type": "floor", "add_surface_depth": true, "secondary_depth_range": 0, "offset": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:dirt" } } } ``` -------------------------------- ### End Stone Generation in Nether Source: https://github.com/terraformersmc/biolith/wiki/Surface-Generation Generates end stone in the Nether dimension if the biome is End Highlands. ```json { "type": "minecraft:condition", "if_true": { "type": "minecraft:biome", "biome_is": [ "minecraft:end_highlands" ] }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "minecraft:end_stone" } } } ``` -------------------------------- ### Add End Sub-Biome with Alternate Criterion (Java) Source: https://github.com/terraformersmc/biolith/wiki/Sub‐Biome-Placement Adds a sub-biome to the End dimension, adjacent to a matching highlands biome. Uses an alternate criterion for placement. ```java // Adding our End midlands biome adjacent to its matching highlands biome. BiomePlacement.addSubEnd( BiomeKeys.END_MIDLANDS, midlands, CriterionBuilder.alternate( highlands, BiomeKeys.END_HIGHLANDS)); ``` -------------------------------- ### JSON Ratio Criterion Source: https://github.com/terraformersmc/biolith/wiki/Criterion A JSON representation of a ratio criterion. This is used to place a sub-biome near the noise center of a biome, with a maximum ratio of 0.2. ```json "criterion": { "type": "biolith:ratio", "target": "center", "max": 0.2 } ``` -------------------------------- ### Remove Biome from Overworld Source: https://github.com/terraformersmc/biolith/wiki/Multi‐Noise-Placement Removes a biome from the Overworld. Use with caution to avoid world generation issues. Methods are available for Overworld, Nether, and End dimensions. ```java BiomePlacement.removeOverworld(BiomeKeys.CHERRY_GROVE); ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.