Skip to content

Commit 30a3558

Browse files
committed
Add error handling for invalid spawn position Y
1 parent 783428f commit 30a3558

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

pico_limbo/src/server/start_server.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ fn build_state(cfg: Config) -> Result<ServerState, ServerStateBuilderError> {
5959
server_state_builder.disable_forwarding();
6060
}
6161

62+
if cfg.experimental.world.spawn_position.1 < f64::from(cfg.experimental.world.min_y_pos) {
63+
return Err(ServerStateBuilderError::InvalidSpawnPosition());
64+
}
65+
6266
server_state_builder
6367
.dimension(cfg.spawn_dimension.into())
6468
.description_text(&cfg.server_list.message_of_the_day)

pico_limbo/src/server_state.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ pub enum ServerStateBuilderError {
167167
BinaryReader(#[from] BinaryReaderError),
168168
#[error(transparent)]
169169
WorldLoading(#[from] WorldLoadingError),
170+
#[error("the configured spawn position Y is below the configured minimum Y position")]
171+
InvalidSpawnPosition(),
170172
}
171173

172174
impl ServerStateBuilder {

0 commit comments

Comments
 (0)