diff options
Diffstat (limited to 'src/World.cpp')
-rw-r--r-- | src/World.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/World.cpp b/src/World.cpp index 474f77b81..0f3740877 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -47,6 +47,7 @@ #include "Generating/Trees.h" #include "Bindings/PluginManager.h" #include "Blocks/BlockHandler.h" +#include "Blocks/BlockBed.cpp" #include "Tracer.h" @@ -3578,7 +3579,7 @@ void cWorld::cTaskUnloadUnusedChunks::Run(cWorld & a_World) //////////////////////////////////////////////////////////////////////////////// -// cWorld::cTaskSendBlockTo +// cWorld::cTaskSendBlockToAllPlayers cWorld::cTaskSendBlockToAllPlayers::cTaskSendBlockToAllPlayers(std::vector<Vector3i> & a_SendQueue) : m_SendQueue(a_SendQueue) @@ -3621,6 +3622,30 @@ void cWorld::cTaskSendBlockToAllPlayers::Run(cWorld & a_World) //////////////////////////////////////////////////////////////////////////////// +// cWorld::cTaskSendBlockToAllPlayers + +cWorld::cTaskTryAwakeSleepingPlayers::cTaskTryAwakeSleepingPlayers(const Vector3i & a_Position, cChunkInterface & a_ChunkInterface) : + m_Position(a_Position), + m_ChunkInterface(a_ChunkInterface) +{ +} + +void cWorld::cTaskTryAwakeSleepingPlayers::Run(cWorld & a_World) +{ + cTimeFastForwardTester Tester; + if (a_World.ForEachPlayer(Tester)) + { + cPlayerBedStateUnsetter Unsetter(m_Position, m_ChunkInterface); + a_World.ForEachPlayer(Unsetter); + a_World.SetTimeOfDay(0); + } +} + + + + + +//////////////////////////////////////////////////////////////////////////////// // cWorld::cChunkGeneratorCallbacks: cWorld::cChunkGeneratorCallbacks::cChunkGeneratorCallbacks(cWorld & a_World) : |