X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FServerState.cpp;h=e83984106ed06c100c04c6d6f656fff8c0f9a89e;hb=13e676a6e49128ebc6c63b8dd08bef51d360e8e9;hp=88e817d81f1a70d61f5011cead6f7e741619e034;hpb=51a0b19601cb4b044c7eee1782aa85fc3a399d33;p=blank.git diff --git a/src/app/ServerState.cpp b/src/app/ServerState.cpp index 88e817d..e839841 100644 --- a/src/app/ServerState.cpp +++ b/src/app/ServerState.cpp @@ -11,17 +11,23 @@ namespace blank { ServerState::ServerState( HeadlessEnvironment &env, + const Generator::Config &gc, const World::Config &wc, const WorldSave &ws, const Server::Config &sc ) : env(env) , block_types() -, world(block_types, wc, ws) +, world(block_types, wc) +, generator(gc) +, chunk_loader(world.Chunks(), generator, ws) +, skeletons() +, spawner(world, skeletons, gc.seed) , server(sc, world) , push_timer(16) { TextureIndex tex_index; env.loader.LoadBlockTypes("default", block_types, tex_index); + skeletons.LoadHeadless(); push_timer.Start(); @@ -38,8 +44,11 @@ void ServerState::Handle(const SDL_Event &event) { void ServerState::Update(int dt) { push_timer.Update(dt); - server.Handle(); + spawner.Update(dt); + if (!world.Players().empty()) { + world.Update(dt); + } if (push_timer.Hit()) { server.Update(dt); }