Pumpkin/pumpkin-data/src/generated/chunk_gen_settings.rs
Alexander Medvedev 23e7992b2d Port to 26.2
2026-06-20 20:07:31 +02:00

167 lines
306 KiB
Rust

/* This file is generated. Do not edit manually. */
use crate::BlockState;
use crate::biome::Biome;
use crate::chunk::DoublePerlinNoiseParameters;
use crate::dimension::Dimension;
use pumpkin_util::random::RandomDeriver;
use pumpkin_util::y_offset::Absolute;
use pumpkin_util::y_offset::YOffset;
use std::{cell::RefCell, num::NonZeroUsize};
pub struct GenerationSettings {
pub aquifers_enabled: bool,
pub ore_veins_enabled: bool,
pub legacy_random_source: bool,
pub sea_level: i32,
pub default_fluid: &'static BlockState,
pub shape: GenerationShapeConfig,
pub surface_rule: MaterialRule,
pub default_block: &'static BlockState,
}
pub struct GenerationShapeConfig {
pub min_y: i8,
pub height: u16,
pub size_horizontal: u8,
pub size_vertical: u8,
}
impl GenerationShapeConfig {
#[inline]
#[must_use]
pub const fn vertical_cell_block_count(&self) -> u8 {
self.size_vertical << 2
}
#[inline]
#[must_use]
pub const fn horizontal_cell_block_count(&self) -> u8 {
self.size_horizontal << 2
}
#[must_use]
pub const fn max_y(&self) -> u16 {
if self.min_y >= 0 {
self.height + self.min_y as u16
} else {
(self.height as i32 + self.min_y as i32) as u16
}
}
#[must_use]
pub fn trim_height(&self, bottom_y: i8, top_y: u16) -> Self {
let new_min = self.min_y.max(bottom_y);
let this_top = if self.min_y >= 0 {
self.height + self.min_y as u16
} else {
self.height - self.min_y.unsigned_abs() as u16
};
let new_top = this_top.min(top_y);
let new_height = if new_min >= 0 {
new_top - new_min as u16
} else {
new_top + new_min.unsigned_abs() as u16
};
Self {
min_y: new_min,
height: new_height,
size_horizontal: self.size_horizontal,
size_vertical: self.size_vertical,
}
}
}
pub struct BlockMaterialRule {
pub result_state: &'static BlockState,
}
pub struct SequenceMaterialRule {
pub sequence: &'static [MaterialRule],
}
pub struct ConditionMaterialRule {
pub if_true: MaterialCondition,
pub then_run: &'static MaterialRule,
}
pub struct BadLandsMaterialRule;
pub enum MaterialRule {
Block(BlockMaterialRule),
Sequence(SequenceMaterialRule),
Condition(ConditionMaterialRule),
Badlands(BadLandsMaterialRule),
}
pub struct BiomeMaterialCondition {
pub biome_is: &'static [&'static Biome],
}
pub struct NoiseThresholdMaterialCondition {
pub noise: DoublePerlinNoiseParameters,
pub min_threshold: f64,
pub max_threshold: f64,
}
pub struct VerticalGradientMaterialCondition {
pub random_lo: u64,
pub random_hi: u64,
pub true_at_and_below: YOffset,
pub false_at_and_above: YOffset,
}
pub struct AboveYMaterialCondition {
pub anchor: YOffset,
pub surface_depth_multiplier: i32,
pub add_stone_depth: bool,
}
pub struct WaterMaterialCondition {
pub offset: i32,
pub surface_depth_multiplier: i32,
pub add_stone_depth: bool,
}
pub struct HoleMaterialCondition;
pub struct NotMaterialCondition {
pub invert: &'static MaterialCondition,
}
pub struct SurfaceMaterialCondition;
pub struct StoneDepthMaterialCondition {
pub offset: i32,
pub add_surface_depth: bool,
pub secondary_depth_range: i32,
pub surface_type: pumpkin_util::math::vertical_surface_type::VerticalSurfaceType,
}
pub enum MaterialCondition {
Biome(BiomeMaterialCondition),
NoiseThreshold(NoiseThresholdMaterialCondition),
VerticalGradient(VerticalGradientMaterialCondition),
YAbove(AboveYMaterialCondition),
Water(WaterMaterialCondition),
Temperature,
Steep,
Not(NotMaterialCondition),
Hole(HoleMaterialCondition),
AbovePreliminarySurface(SurfaceMaterialCondition),
StoneDepth(StoneDepthMaterialCondition),
}
impl GenerationSettings {
pub const AMPLIFIED : GenerationSettings = GenerationSettings { aquifers_enabled : true , ore_veins_enabled : true , legacy_random_source : false , sea_level : 63i32 , default_fluid : crate :: Block :: WATER . default_state , shape : GenerationShapeConfig { min_y : - 64i8 , height : 384u16 , size_horizontal : 1u8 , size_vertical : 2u8 } , surface_rule : MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 13544455532117611141u64 , random_hi : 14185350335435586452u64 , true_at_and_below : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 0i8 }) , false_at_and_above : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 5i8 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BEDROCK . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: AbovePreliminarySurface (SurfaceMaterialCondition) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 97i16 }) , surface_depth_multiplier : 2i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 62i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 60i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: BADLANDS , & crate :: biome :: Biome :: ERODED_BADLANDS , & crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 256i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: Hole (HoleMaterialCondition) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: AIR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Temperature , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state })] }) }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : 0f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : 0f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.06060606060606061f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: OLD_GROWTH_PINE_TAIGA , & crate :: biome :: Biome :: OLD_GROWTH_SPRUCE_TAIGA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.11515151515151514f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PODZOL . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: ICE_SPIKES] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MUSHROOM_FIELDS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MYCELIUM . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : - 0.5f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : - 0.0625f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 6i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 30i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS , & crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: LUKEWARM_OCEAN , & crate :: biome :: Biome :: DEEP_LUKEWARM_OCEAN] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 10411719568726253007u64 , random_hi : 14964796469053385315u64 , true_at_and_below : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 0i16 }) , false_at_and_above : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 8i16 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DEEPSLATE . default_state }) })] }) , default_block : crate :: Block :: STONE . default_state , } ;
pub const CAVES : GenerationSettings = GenerationSettings { aquifers_enabled : false , ore_veins_enabled : false , legacy_random_source : true , sea_level : 32i32 , default_fluid : crate :: Block :: WATER . default_state , shape : GenerationShapeConfig { min_y : - 64i8 , height : 192u16 , size_horizontal : 1u8 , size_vertical : 2u8 } , surface_rule : MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 10285458612719284684u64 , random_hi : 14520959502364845764u64 , true_at_and_below : YOffset :: BelowTop (pumpkin_util :: y_offset :: BelowTop { below_top : 5i8 }) , false_at_and_above : YOffset :: BelowTop (pumpkin_util :: y_offset :: BelowTop { below_top : 0i8 }) , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BEDROCK . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 13544455532117611141u64 , random_hi : 14185350335435586452u64 , true_at_and_below : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 0i8 }) , false_at_and_above : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 5i8 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BEDROCK . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 97i16 }) , surface_depth_multiplier : 2i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 62i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 60i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: BADLANDS , & crate :: biome :: Biome :: ERODED_BADLANDS , & crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 256i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: Hole (HoleMaterialCondition) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: AIR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Temperature , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state })] }) }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : 0f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : 0f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.06060606060606061f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: OLD_GROWTH_PINE_TAIGA , & crate :: biome :: Biome :: OLD_GROWTH_SPRUCE_TAIGA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.11515151515151514f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PODZOL . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: ICE_SPIKES] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MUSHROOM_FIELDS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MYCELIUM . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : - 0.5f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : - 0.0625f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 6i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 30i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS , & crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: LUKEWARM_OCEAN , & crate :: biome :: Biome :: DEEP_LUKEWARM_OCEAN] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 10411719568726253007u64 , random_hi : 14964796469053385315u64 , true_at_and_below : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 0i16 }) , false_at_and_above : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 8i16 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DEEPSLATE . default_state }) })] }) , default_block : crate :: Block :: STONE . default_state , } ;
pub const END: GenerationSettings = GenerationSettings {
aquifers_enabled: false,
ore_veins_enabled: false,
legacy_random_source: true,
sea_level: 0i32,
default_fluid: crate::Block::AIR.default_state,
shape: GenerationShapeConfig {
min_y: 0i8,
height: 128u16,
size_horizontal: 2u8,
size_vertical: 1u8,
},
surface_rule: MaterialRule::Block(BlockMaterialRule {
result_state: crate::Block::END_STONE.default_state,
}),
default_block: crate::Block::END_STONE.default_state,
};
pub const FLOATING_ISLANDS : GenerationSettings = GenerationSettings { aquifers_enabled : false , ore_veins_enabled : false , legacy_random_source : true , sea_level : - 64i32 , default_fluid : crate :: Block :: WATER . default_state , shape : GenerationShapeConfig { min_y : 0i8 , height : 256u16 , size_horizontal : 2u8 , size_vertical : 1u8 } , surface_rule : MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 97i16 }) , surface_depth_multiplier : 2i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 62i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 60i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: BADLANDS , & crate :: biome :: Biome :: ERODED_BADLANDS , & crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 256i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: Hole (HoleMaterialCondition) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: AIR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Temperature , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state })] }) }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : 0f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : 0f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.06060606060606061f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: OLD_GROWTH_PINE_TAIGA , & crate :: biome :: Biome :: OLD_GROWTH_SPRUCE_TAIGA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.11515151515151514f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PODZOL . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: ICE_SPIKES] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MUSHROOM_FIELDS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MYCELIUM . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : - 0.5f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : - 0.0625f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 6i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 30i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS , & crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: LUKEWARM_OCEAN , & crate :: biome :: Biome :: DEEP_LUKEWARM_OCEAN] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 10411719568726253007u64 , random_hi : 14964796469053385315u64 , true_at_and_below : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 0i16 }) , false_at_and_above : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 8i16 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DEEPSLATE . default_state }) })] }) , default_block : crate :: Block :: STONE . default_state , } ;
pub const LARGE_BIOMES : GenerationSettings = GenerationSettings { aquifers_enabled : true , ore_veins_enabled : true , legacy_random_source : false , sea_level : 63i32 , default_fluid : crate :: Block :: WATER . default_state , shape : GenerationShapeConfig { min_y : - 64i8 , height : 384u16 , size_horizontal : 1u8 , size_vertical : 2u8 } , surface_rule : MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 13544455532117611141u64 , random_hi : 14185350335435586452u64 , true_at_and_below : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 0i8 }) , false_at_and_above : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 5i8 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BEDROCK . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: AbovePreliminarySurface (SurfaceMaterialCondition) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 97i16 }) , surface_depth_multiplier : 2i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 62i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 60i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: BADLANDS , & crate :: biome :: Biome :: ERODED_BADLANDS , & crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 256i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: Hole (HoleMaterialCondition) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: AIR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Temperature , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state })] }) }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : 0f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : 0f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.06060606060606061f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: OLD_GROWTH_PINE_TAIGA , & crate :: biome :: Biome :: OLD_GROWTH_SPRUCE_TAIGA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.11515151515151514f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PODZOL . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: ICE_SPIKES] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MUSHROOM_FIELDS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MYCELIUM . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : - 0.5f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : - 0.0625f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 6i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 30i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS , & crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: LUKEWARM_OCEAN , & crate :: biome :: Biome :: DEEP_LUKEWARM_OCEAN] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 10411719568726253007u64 , random_hi : 14964796469053385315u64 , true_at_and_below : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 0i16 }) , false_at_and_above : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 8i16 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DEEPSLATE . default_state }) })] }) , default_block : crate :: Block :: STONE . default_state , } ;
pub const NETHER : GenerationSettings = GenerationSettings { aquifers_enabled : false , ore_veins_enabled : false , legacy_random_source : true , sea_level : 32i32 , default_fluid : crate :: Block :: LAVA . default_state , shape : GenerationShapeConfig { min_y : 0i8 , height : 128u16 , size_horizontal : 1u8 , size_vertical : 2u8 } , surface_rule : MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 13544455532117611141u64 , random_hi : 14185350335435586452u64 , true_at_and_below : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 0i8 }) , false_at_and_above : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 5i8 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BEDROCK . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 10285458612719284684u64 , random_hi : 14520959502364845764u64 , true_at_and_below : YOffset :: BelowTop (pumpkin_util :: y_offset :: BelowTop { below_top : 5i8 }) , false_at_and_above : YOffset :: BelowTop (pumpkin_util :: y_offset :: BelowTop { below_top : 0i8 }) , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BEDROCK . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: BelowTop (pumpkin_util :: y_offset :: BelowTop { below_top : 5i8 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: NETHERRACK . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: BASALT_DELTAS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BASALT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PATCH , min_threshold : - 0.012f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 30i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 35i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : true , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: NETHER_STATE_SELECTOR , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BASALT . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BLACKSTONE . default_state })] }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SOUL_SAND_VALLEY] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: NETHER_STATE_SELECTOR , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SOUL_SAND . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SOUL_SOIL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PATCH , min_threshold : - 0.012f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 30i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 35i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : true , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: NETHER_STATE_SELECTOR , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SOUL_SAND . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SOUL_SOIL . default_state })] }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 32i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: LAVA . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARPED_FOREST] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: NETHERRACK , min_threshold : 0.54f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 31i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: NETHER_WART , min_threshold : 1.17f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WARPED_WART_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WARPED_NYLIUM . default_state })] }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: CRIMSON_FOREST] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: NETHERRACK , min_threshold : 0.54f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 31i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: NETHER_WART , min_threshold : 1.17f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: NETHER_WART_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CRIMSON_NYLIUM . default_state })] }) }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: NETHER_WASTES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SOUL_SAND_LAYER , min_threshold : - 0.012f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: Hole (HoleMaterialCondition) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 30i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 35i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : true , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SOUL_SAND . default_state }) }) }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: NETHERRACK . default_state })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 31i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 35i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : true , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL_LAYER , min_threshold : - 0.012f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 32i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: Hole (HoleMaterialCondition) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state }) })] }) }) }) }) })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: NETHERRACK . default_state })] }) , default_block : crate :: Block :: NETHERRACK . default_state , } ;
pub const OVERWORLD : GenerationSettings = GenerationSettings { aquifers_enabled : true , ore_veins_enabled : true , legacy_random_source : false , sea_level : 63i32 , default_fluid : crate :: Block :: WATER . default_state , shape : GenerationShapeConfig { min_y : - 64i8 , height : 384u16 , size_horizontal : 1u8 , size_vertical : 2u8 } , surface_rule : MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 13544455532117611141u64 , random_hi : 14185350335435586452u64 , true_at_and_below : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 0i8 }) , false_at_and_above : YOffset :: AboveBottom (pumpkin_util :: y_offset :: AboveBottom { above_bottom : 5i8 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: BEDROCK . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: AbovePreliminarySurface (SurfaceMaterialCondition) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 97i16 }) , surface_depth_multiplier : 2i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 62i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 60i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE_SWAMP , min_threshold : 0f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: BADLANDS , & crate :: biome :: Biome :: ERODED_BADLANDS , & crate :: biome :: Biome :: WOODED_BADLANDS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 256i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.909f64 , max_threshold : - 0.5454f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.1818f64 , max_threshold : 0.1818f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.5454f64 , max_threshold : 0.909f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: TERRACOTTA . default_state }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: RED_SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: Hole (HoleMaterialCondition) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 63i16 }) , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Not (NotMaterialCondition { invert : & MaterialCondition :: YAbove (AboveYMaterialCondition { anchor : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 74i16 }) , surface_depth_multiplier : 1i32 , add_stone_depth : true , }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ORANGE_TERRACOTTA . default_state }) }) }) , MaterialRule :: Badlands (BadLandsMaterialRule)] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WHITE_TERRACOTTA . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 1i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: AIR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Temperature , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state })] }) }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : 0f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : 0f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.35f64 , max_threshold : 0.6f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.06060606060606061f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: OLD_GROWTH_PINE_TAIGA , & crate :: biome :: Biome :: OLD_GROWTH_SPRUCE_TAIGA] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: COARSE_DIRT . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.11515151515151514f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PODZOL . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: ICE_SPIKES] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MUSHROOM_FIELDS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MYCELIUM . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRASS_BLOCK . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] })] })] }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : - 6i32 , surface_depth_multiplier : - 1i32 , add_stone_depth : true , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_OCEAN , & crate :: biome :: Biome :: DEEP_FROZEN_OCEAN] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Hole (HoleMaterialCondition) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: WATER . default_state }) }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: PACKED_ICE , min_threshold : - 0.5f64 , max_threshold : 0.2f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: PACKED_ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: ICE , min_threshold : - 0.0625f64 , max_threshold : 0.025f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: ICE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SNOWY_SLOPES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Steep , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SNOW_BLOCK . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: GROVE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: POWDER_SNOW , min_threshold : 0.45f64 , max_threshold : 0.58f64 , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Water (WaterMaterialCondition { offset : 0i32 , surface_depth_multiplier : 0i32 , add_stone_depth : false , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: POWDER_SNOW . default_state }) }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_PEAKS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: CALCITE , min_threshold : - 0.0125f64 , max_threshold : 0.0125f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CALCITE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: STONY_SHORE] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: GRAVEL , min_threshold : - 0.05f64 , max_threshold : 0.05f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_HILLS] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DRIPSTONE_CAVES] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state })] }) })] }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_SAVANNA] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.21212121212121213f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WINDSWEPT_GRAVELLY_HILLS] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.24242424242424243f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SURFACE , min_threshold : - 0.12121212121212122f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: MANGROVE_SWAMP] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: MUD . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DIRT . default_state })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: BEACH , & crate :: biome :: Biome :: SNOWY_BEACH] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 6i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: DESERT] , }) , then_run : & MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : true , secondary_depth_range : 30i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Floor , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: FROZEN_PEAKS , & crate :: biome :: Biome :: JAGGED_PEAKS] , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: WARM_OCEAN , & crate :: biome :: Biome :: LUKEWARM_OCEAN , & crate :: biome :: Biome :: DEEP_LUKEWARM_OCEAN] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SANDSTONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SAND . default_state })] }) }) , MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: StoneDepth (StoneDepthMaterialCondition { offset : 0i32 , add_surface_depth : false , secondary_depth_range : 0i32 , surface_type : pumpkin_util :: math :: vertical_surface_type :: VerticalSurfaceType :: Ceiling , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: STONE . default_state }) }) , MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: GRAVEL . default_state })] })] }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: Biome (BiomeMaterialCondition { biome_is : & [& crate :: biome :: Biome :: SULFUR_CAVES] , }) , then_run : & MaterialRule :: Sequence (SequenceMaterialRule { sequence : & [MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : - 0.4000000059604645f64 , max_threshold : - 0.10000000149011612f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0f64 , max_threshold : 0.4000000059604645f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: SULFUR . default_state }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: NoiseThreshold (NoiseThresholdMaterialCondition { noise : DoublePerlinNoiseParameters :: SULFUR_CAVE_GRADIENT , min_threshold : 0.4000000059604645f64 , max_threshold : 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64 , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: CINNABAR . default_state }) })] }) }) , MaterialRule :: Condition (ConditionMaterialRule { if_true : MaterialCondition :: VerticalGradient (VerticalGradientMaterialCondition { random_lo : 10411719568726253007u64 , random_hi : 14964796469053385315u64 , true_at_and_below : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 0i16 }) , false_at_and_above : YOffset :: Absolute (pumpkin_util :: y_offset :: Absolute { absolute : 8i16 }) , }) , then_run : & MaterialRule :: Block (BlockMaterialRule { result_state : crate :: Block :: DEEPSLATE . default_state }) })] }) , default_block : crate :: Block :: STONE . default_state , } ;
#[must_use]
pub fn from_dimension(dimension: &Dimension) -> &'static Self {
if dimension == &Dimension::OVERWORLD {
&Self::OVERWORLD
} else if dimension == &Dimension::THE_NETHER {
&Self::NETHER
} else {
&Self::END
}
}
}