mirror of
https://github.com/Pumpkin-MC/Pumpkin.git
synced 2026-08-31 08:22:33 +00:00
pumpkin-world: Move noise_router into noise/router
This commit is contained in:
@@ -3,7 +3,7 @@ use criterion::{Criterion, criterion_group, criterion_main};
|
||||
use pumpkin_data::BlockDirection;
|
||||
use pumpkin_util::math::position::BlockPos;
|
||||
use pumpkin_util::math::vector2::Vector2;
|
||||
use pumpkin_world::generation::implementation::WorldGenerator;
|
||||
use pumpkin_world::generation::generator::WorldGenerator;
|
||||
use std::sync::Arc;
|
||||
use temp_dir::TempDir;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ use crate::{
|
||||
biome::BiomeSupplier,
|
||||
dimension::Dimension,
|
||||
generation::{
|
||||
biome_coords, noise_router::multi_noise_sampler::MultiNoiseSampler, section_coords,
|
||||
biome_coords, noise::router::multi_noise_sampler::MultiNoiseSampler, section_coords,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ use pumpkin_data::chunk::{Biome, BiomeTree, NETHER_BIOME_SOURCE, OVERWORLD_BIOME
|
||||
use pumpkin_util::math::vector3::Vector3;
|
||||
|
||||
use crate::{
|
||||
dimension::Dimension, generation::noise_router::multi_noise_sampler::MultiNoiseSampler,
|
||||
dimension::Dimension, generation::noise::router::multi_noise_sampler::MultiNoiseSampler,
|
||||
};
|
||||
pub mod end;
|
||||
pub mod multi_noise;
|
||||
@@ -65,7 +65,7 @@ mod test {
|
||||
chunk::palette::BIOME_NETWORK_MAX_BITS,
|
||||
dimension::Dimension,
|
||||
generation::{
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
multi_noise_sampler::{MultiNoiseSampler, MultiNoiseSamplerBuilderOptions},
|
||||
proto_noise_router::ProtoNoiseRouters,
|
||||
},
|
||||
|
||||
@@ -41,7 +41,7 @@ mod test {
|
||||
biome::{BiomeSupplier, MultiNoiseBiomeSupplier},
|
||||
dimension::Dimension,
|
||||
generation::{
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
multi_noise_sampler::{MultiNoiseSampler, MultiNoiseSamplerBuilderOptions},
|
||||
proto_noise_router::ProtoNoiseRouters,
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@ use pumpkin_util::{
|
||||
|
||||
use super::{
|
||||
chunk_noise::{LAVA_BLOCK, WATER_BLOCK},
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
chunk_density_function::ChunkNoiseFunctionSampleOptions,
|
||||
chunk_noise_router::ChunkNoiseRouter,
|
||||
density_function::{NoisePos, UnblendedNoisePos},
|
||||
@@ -662,7 +662,7 @@ mod test {
|
||||
BlockStateSampler, ChainedBlockStateSampler, ChunkNoiseGenerator, LAVA_BLOCK,
|
||||
WATER_BLOCK,
|
||||
},
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
chunk_density_function::{ChunkNoiseFunctionSampleOptions, SampleAction},
|
||||
chunk_noise_router::ChunkNoiseRouter,
|
||||
density_function::UnblendedNoisePos,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use enum_dispatch::enum_dispatch;
|
||||
|
||||
use super::noise_router::density_function::NoisePos;
|
||||
use super::noise::router::density_function::NoisePos;
|
||||
|
||||
pub struct BlendResult {
|
||||
alpha: f64,
|
||||
|
||||
@@ -10,7 +10,7 @@ use super::{
|
||||
WorldAquiferSampler,
|
||||
},
|
||||
biome_coords,
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
chunk_density_function::{
|
||||
ChunkNoiseFunctionBuilderOptions, ChunkNoiseFunctionSampleOptions, SampleAction,
|
||||
WrapperData,
|
||||
|
||||
@@ -8,7 +8,7 @@ use pumpkin_data::noise_router::{
|
||||
use pumpkin_util::math::{vector2::Vector2, vector3::Vector3};
|
||||
|
||||
use super::{
|
||||
biome_coords, noise_router::proto_noise_router::ProtoNoiseRouters,
|
||||
biome_coords, noise::router::proto_noise_router::ProtoNoiseRouters,
|
||||
settings::gen_settings_from_dimension,
|
||||
};
|
||||
use crate::chunk::format::LightContainer;
|
||||
@@ -8,11 +8,10 @@ mod block_state_provider;
|
||||
pub mod carver;
|
||||
pub mod chunk_noise;
|
||||
mod feature;
|
||||
pub mod generator;
|
||||
pub mod height_limit;
|
||||
pub mod height_provider;
|
||||
pub mod implementation;
|
||||
pub mod noise;
|
||||
pub mod noise_router;
|
||||
pub mod ore_sampler;
|
||||
pub mod positions;
|
||||
pub mod proto_chunk;
|
||||
@@ -24,7 +23,7 @@ mod surface;
|
||||
pub mod y_offset;
|
||||
|
||||
use derive_getters::Getters;
|
||||
use implementation::{GeneratorInit, VanillaGenerator, WorldGenerator};
|
||||
use generator::{GeneratorInit, VanillaGenerator, WorldGenerator};
|
||||
use pumpkin_util::random::{
|
||||
RandomDeriver, RandomDeriverImpl, RandomImpl, legacy_rand::LegacyRand, xoroshiro128::Xoroshiro,
|
||||
};
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
pub mod perlin;
|
||||
pub mod router;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use pumpkin_data::noise_router::{BinaryData, BinaryOperation, ClampData, LinearData, UnaryData};
|
||||
|
||||
use crate::generation::noise_router::{
|
||||
use crate::generation::noise::router::{
|
||||
chunk_density_function::ChunkNoiseFunctionSampleOptions,
|
||||
chunk_noise_router::{ChunkNoiseFunctionComponent, StaticChunkNoiseFunctionComponentImpl},
|
||||
};
|
||||
@@ -11,7 +11,7 @@ use pumpkin_util::{
|
||||
|
||||
use crate::generation::{
|
||||
noise::perlin::DoublePerlinNoiseSampler,
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
chunk_density_function::ChunkNoiseFunctionSampleOptions,
|
||||
chunk_noise_router::{ChunkNoiseFunctionComponent, StaticChunkNoiseFunctionComponentImpl},
|
||||
},
|
||||
@@ -7,7 +7,7 @@ use pumpkin_util::{
|
||||
|
||||
use crate::generation::{
|
||||
noise::perlin::DoublePerlinNoiseSampler,
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
chunk_density_function::ChunkNoiseFunctionSampleOptions,
|
||||
chunk_noise_router::{ChunkNoiseFunctionComponent, StaticChunkNoiseFunctionComponentImpl},
|
||||
},
|
||||
@@ -1,6 +1,6 @@
|
||||
use pumpkin_util::math::lerp;
|
||||
|
||||
use crate::generation::noise_router::{
|
||||
use crate::generation::noise::router::{
|
||||
chunk_density_function::ChunkNoiseFunctionSampleOptions,
|
||||
chunk_noise_router::{ChunkNoiseFunctionComponent, StaticChunkNoiseFunctionComponentImpl},
|
||||
proto_noise_router::ProtoNoiseFunctionComponent,
|
||||
@@ -6,14 +6,14 @@ use std::path::Path;
|
||||
use std::sync::LazyLock;
|
||||
|
||||
use crate::generation::GlobalRandomConfig;
|
||||
use crate::generation::noise_router::chunk_density_function::ChunkNoiseFunctionBuilderOptions;
|
||||
use crate::generation::noise_router::chunk_density_function::{
|
||||
use crate::generation::noise::router::chunk_density_function::ChunkNoiseFunctionBuilderOptions;
|
||||
use crate::generation::noise::router::chunk_density_function::{
|
||||
ChunkNoiseFunctionSampleOptions, SampleAction,
|
||||
};
|
||||
use crate::generation::noise_router::chunk_noise_router::{
|
||||
use crate::generation::noise::router::chunk_noise_router::{
|
||||
ChunkNoiseDensityFunction, ChunkNoiseFunctionComponent,
|
||||
};
|
||||
use crate::generation::noise_router::proto_noise_router::{
|
||||
use crate::generation::noise::router::proto_noise_router::{
|
||||
ProtoNoiseFunctionComponent, ProtoNoiseRouters,
|
||||
};
|
||||
|
||||
@@ -231,7 +231,7 @@ mod test {
|
||||
|
||||
use crate::{
|
||||
GlobalRandomConfig, biome::multi_noise::NoiseValuePoint,
|
||||
generation::noise_router::proto_noise_router::ProtoNoiseRouters,
|
||||
generation::noise::router::proto_noise_router::ProtoNoiseRouters,
|
||||
};
|
||||
|
||||
use super::{MultiNoiseSampler, MultiNoiseSamplerBuilderOptions};
|
||||
@@ -4,9 +4,9 @@ use pumpkin_util::{
|
||||
random::{RandomDeriver, RandomDeriverImpl, RandomImpl},
|
||||
};
|
||||
|
||||
use crate::generation::noise_router::chunk_noise_router::ChunkNoiseRouter;
|
||||
use crate::generation::noise::router::chunk_noise_router::ChunkNoiseRouter;
|
||||
|
||||
use super::noise_router::{
|
||||
use super::noise::router::{
|
||||
chunk_density_function::ChunkNoiseFunctionSampleOptions, density_function::NoisePos,
|
||||
};
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ use super::{
|
||||
chunk_noise::{CHUNK_DIM, ChunkNoiseGenerator, LAVA_BLOCK, WATER_BLOCK},
|
||||
feature::placed_features::PLACED_FEATURES,
|
||||
height_limit::HeightLimitView,
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
multi_noise_sampler::{MultiNoiseSampler, MultiNoiseSamplerBuilderOptions},
|
||||
proto_noise_router::{DoublePerlinNoiseBuilder, ProtoNoiseRouters},
|
||||
surface_height_sampler::{
|
||||
@@ -380,7 +380,7 @@ impl<'a> ProtoChunk<'a> {
|
||||
local_pos.z & 15,
|
||||
);
|
||||
if local_pos.y < 0 || local_pos.y >= self.height() as i32 {
|
||||
return RawBlockState::AIR;
|
||||
return RawBlockState(Block::VOID_AIR.default_state.id);
|
||||
}
|
||||
let index = self.local_pos_to_block_index(&local_pos);
|
||||
RawBlockState(self.flat_block_map[index])
|
||||
@@ -436,9 +436,6 @@ impl<'a> ProtoChunk<'a> {
|
||||
let start_biome_x = biome_coords::from_block(start_block_x);
|
||||
let start_biome_z = biome_coords::from_block(start_block_z);
|
||||
|
||||
#[cfg(debug_assertions)]
|
||||
let mut indices = (0..self.flat_biome_map.len()).collect::<Vec<_>>();
|
||||
|
||||
for i in bottom_section..=top_section {
|
||||
let start_block_y = section_coords::section_to_block(i);
|
||||
let start_biome_y = biome_coords::from_block(start_block_y);
|
||||
@@ -447,7 +444,6 @@ impl<'a> ProtoChunk<'a> {
|
||||
for x in 0..biomes_per_section {
|
||||
for y in 0..biomes_per_section {
|
||||
for z in 0..biomes_per_section {
|
||||
// panic!("{}:{}", start_y, y);
|
||||
let biome_pos =
|
||||
Vector3::new(start_biome_x + x, start_biome_y + y, start_biome_z + z);
|
||||
let biome = if dimension == Dimension::End {
|
||||
@@ -463,7 +459,7 @@ impl<'a> ProtoChunk<'a> {
|
||||
dimension,
|
||||
)
|
||||
};
|
||||
//panic!("Populating biome: {:?} -> {:?}", biome_pos, biome);
|
||||
//dbg!("Populating biome: {:?} -> {:?}", biome_pos, biome);
|
||||
|
||||
let local_biome_pos = Vector3 {
|
||||
x,
|
||||
@@ -473,16 +469,11 @@ impl<'a> ProtoChunk<'a> {
|
||||
};
|
||||
let index = self.local_biome_pos_to_biome_index(&local_biome_pos);
|
||||
|
||||
#[cfg(debug_assertions)]
|
||||
indices.retain(|i| *i != index);
|
||||
self.flat_biome_map[index] = biome;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(debug_assertions)]
|
||||
assert!(indices.is_empty(), "Not all biome indices were set!");
|
||||
}
|
||||
|
||||
pub fn populate_noise(&mut self) {
|
||||
@@ -801,7 +792,7 @@ mod test {
|
||||
dimension::Dimension,
|
||||
generation::{
|
||||
GlobalRandomConfig,
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
density_function::{NoiseFunctionComponentRange, PassThrough},
|
||||
proto_noise_router::{ProtoNoiseFunctionComponent, ProtoNoiseRouters},
|
||||
},
|
||||
|
||||
0
pumpkin-world/src/generation/structure/mod.rs
Normal file
0
pumpkin-world/src/generation/structure/mod.rs
Normal file
@@ -18,7 +18,7 @@ use crate::{
|
||||
|
||||
use super::{
|
||||
noise::perlin::DoublePerlinNoiseSampler,
|
||||
noise_router::{
|
||||
noise::router::{
|
||||
proto_noise_router::DoublePerlinNoiseBuilder,
|
||||
surface_height_sampler::SurfaceHeightEstimateSampler,
|
||||
},
|
||||
|
||||
@@ -10,7 +10,7 @@ use crate::{
|
||||
generation::{
|
||||
chunk_noise::WATER_BLOCK, height_limit::HeightLimitView,
|
||||
noise::perlin::DoublePerlinNoiseSampler,
|
||||
noise_router::proto_noise_router::DoublePerlinNoiseBuilder,
|
||||
noise::router::proto_noise_router::DoublePerlinNoiseBuilder,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ use crate::{
|
||||
io::{Dirtiable, FileIO, LoadedData, file_manager::ChunkFileManager},
|
||||
},
|
||||
dimension::Dimension,
|
||||
generation::{Seed, get_world_gen, implementation::WorldGenerator},
|
||||
generation::{Seed, generator::WorldGenerator, get_world_gen},
|
||||
tick::{OrderedTick, ScheduledTick, TickPriority},
|
||||
world::BlockRegistryExt,
|
||||
};
|
||||
@@ -602,7 +602,7 @@ impl Level {
|
||||
relative.y,
|
||||
relative.z as usize,
|
||||
) else {
|
||||
return RawBlockState(Block::AIR.default_state.id);
|
||||
return RawBlockState(Block::VOID_AIR.default_state.id);
|
||||
};
|
||||
|
||||
RawBlockState(id)
|
||||
|
||||
@@ -41,7 +41,7 @@ macro_rules! global_path {
|
||||
|
||||
// TODO: is there a way to do in-file benches?
|
||||
pub use generation::{
|
||||
GlobalRandomConfig, noise_router::proto_noise_router::ProtoNoiseRouters,
|
||||
GlobalRandomConfig, noise::router::proto_noise_router::ProtoNoiseRouters,
|
||||
proto_chunk::ProtoChunk, settings::GENERATION_SETTINGS, settings::GeneratorSetting,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user