Files
Pumpkin/crates/pumpkin-config/src/world.rs
2026-08-06 12:56:40 +02:00

24 lines
804 B
Rust

use serde::{Deserialize, Serialize};
use crate::{chunk::ChunkConfig, lighting::LightingEngineConfig};
/// Configuration for world and level-specific settings.
///
/// Currently, it includes chunk-related options; more settings may be added later.
#[derive(Deserialize, Serialize, Default, Clone)]
pub struct LevelConfig {
/// Configuration for chunk behaviour and management.
pub chunk: ChunkConfig,
/// Configuration for lighting engine propagation mode.
#[serde(default)]
pub lighting: LightingEngineConfig,
/// Number of ticks between autosave checks. If 0, autosave is disabled.
#[serde(default = "default_autosave_ticks")]
pub autosave_ticks: u64,
// TODO: More options
}
const fn default_autosave_ticks() -> u64 {
6000 // Default to 5 minutes at 20 TPS
}