diff options
author | metamuffin <yvchraiqi@protonmail.com> | 2022-06-11 16:33:15 +0200 |
---|---|---|
committer | metamuffin <yvchraiqi@protonmail.com> | 2022-06-11 16:33:15 +0200 |
commit | ea37afe9ae9a1607fa3b6f365b9307c579c45b8d (patch) | |
tree | 4e64754887dcd666a54d0f17d4964c5aecf36334 /karld/src/main.rs | |
parent | 62836238f63688b45760929bdc2715f8f9991f2f (diff) | |
download | karlender-ea37afe9ae9a1607fa3b6f365b9307c579c45b8d.tar karlender-ea37afe9ae9a1607fa3b6f365b9307c579c45b8d.tar.bz2 karlender-ea37afe9ae9a1607fa3b6f365b9307c579c45b8d.tar.zst |
savestating
Diffstat (limited to 'karld/src/main.rs')
-rw-r--r-- | karld/src/main.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/karld/src/main.rs b/karld/src/main.rs index 2d0c9e9..181c2be 100644 --- a/karld/src/main.rs +++ b/karld/src/main.rs @@ -1,6 +1,7 @@ pub mod condition; pub mod helper; pub mod interface; +pub mod savestate; pub mod schedule; use chrono::NaiveDateTime; @@ -11,12 +12,15 @@ use interface::network_loop; use karlcommon::{ ClientboundPacket, Condition, Instance, Property, ProtoError, Schedule, ServerboundPacket, Task, }; -use log::{debug, info}; +use log::{debug, error, info}; use std::{collections::HashMap, sync::RwLock}; fn main() { env_logger::init(); info!("logging"); + if let Err(e) = savestate::load() { + error!("load failed: {}", e); + } TASKS.write().unwrap().insert( 0, Task { @@ -88,11 +92,13 @@ pub fn handle_packet(client: u32, packet: ServerboundPacket, responder: Sender<C } ServerboundPacket::UpdateTask(t) => { TASKS.write().unwrap().insert(t.id, t); + savestate::save(); } ServerboundPacket::RemoveTask(i) => { if TASKS.write().unwrap().remove(&i).is_none() { let _ = responder.send(ClientboundPacket::Error(ProtoError::UnknownTask)); } + savestate::save(); } ServerboundPacket::Handshake { version } => { debug!("{client}: version {version}"); |