X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fserver%2FServer.hpp;h=c12b86aa75ba0b4d9e17e726aab2c54c44474491;hb=1daba5b2fa044c1822d104fb65eeb88b6aeb5499;hp=1a4c0b4f44b9c84de2cda7530737db6c1acdc80d;hpb=c1da86ebab41895bf49ed747c75ecf722e8c5586;p=blank.git diff --git a/src/server/Server.hpp b/src/server/Server.hpp index 1a4c0b4..c12b86a 100644 --- a/src/server/Server.hpp +++ b/src/server/Server.hpp @@ -2,6 +2,7 @@ #define BLANK_SERVER_SERVER_HPP #include "../app/Config.hpp" +#include "../world/World.hpp" #include "../world/WorldManipulator.hpp" #include @@ -10,8 +11,10 @@ namespace blank { +class ChunkIndex; class CompositeModel; -class World; +class Player; +class WorldSave; namespace server { @@ -21,7 +24,7 @@ class Server : public WorldManipulator { public: - Server(const Config::Network &, World &); + Server(const Config::Network &, World &, const World::Config &, const WorldSave &); ~Server(); void Handle(); @@ -32,11 +35,14 @@ public: UDPpacket &GetPacket() noexcept { return serv_pack; } World &GetWorld() noexcept { return world; } + const WorldSave &GetWorldSave() noexcept { return save; } void SetPlayerModel(const CompositeModel &) noexcept; bool HasPlayerModel() const noexcept; const CompositeModel &GetPlayerModel() const noexcept; + Player *JoinPlayer(const std::string &name); + void SetBlock(Chunk &, int, const Block &) override; private: @@ -50,6 +56,8 @@ private: std::list clients; World &world; + ChunkIndex &spawn_index; + const WorldSave &save; const CompositeModel *player_model; };