summaryrefslogtreecommitdiffstats
path: root/src/World.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/World.h')
-rw-r--r--src/World.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/World.h b/src/World.h
index 7e18c53c3..b9fa57d8a 100644
--- a/src/World.h
+++ b/src/World.h
@@ -8,7 +8,7 @@
#include "Simulator/SimulatorManager.h"
#include "ChunkMap.h"
#include "WorldStorage/WorldStorage.h"
-#include "Generating/ChunkGenerator.h"
+#include "ChunkGeneratorThread.h"
#include "ChunkSender.h"
#include "Defines.h"
#include "LightingThread.h"
@@ -824,7 +824,7 @@ public:
// tolua_end
- cChunkGenerator & GetGenerator(void) { return m_Generator; }
+ cChunkGeneratorThread & GetGenerator(void) { return m_Generator; }
cWorldStorage & GetStorage (void) { return m_Storage; }
cChunkMap * GetChunkMap (void) { return m_ChunkMap.get(); }
@@ -883,16 +883,16 @@ private:
/** Implementation of the callbacks that the ChunkGenerator uses to store new chunks and interface to plugins */
class cChunkGeneratorCallbacks :
- public cChunkGenerator::cChunkSink,
- public cChunkGenerator::cPluginInterface
+ public cChunkGeneratorThread::cChunkSink,
+ public cChunkGeneratorThread::cPluginInterface
{
cWorld * m_World;
// cChunkSink overrides:
virtual void OnChunkGenerated (cChunkDesc & a_ChunkDesc) override;
- virtual bool IsChunkValid (int a_ChunkX, int a_ChunkZ) override;
- virtual bool HasChunkAnyClients(int a_ChunkX, int a_ChunkZ) override;
- virtual bool IsChunkQueued (int a_ChunkX, int a_ChunkZ) override;
+ virtual bool IsChunkValid (cChunkCoords a_Coords) override;
+ virtual bool HasChunkAnyClients(cChunkCoords a_Coords) override;
+ virtual bool IsChunkQueued (cChunkCoords a_Coords) override;
// cPluginInterface overrides:
virtual void CallHookChunkGenerating(cChunkDesc & a_ChunkDesc) override;
@@ -1031,8 +1031,8 @@ private:
Only used when this world is an Overworld. */
AString m_LinkedEndWorldName;
-
- cChunkGenerator m_Generator;
+ /** The thread responsible for generating chunks. */
+ cChunkGeneratorThread m_Generator;
cScoreboard m_Scoreboard;
cMapManager m_MapManager;
@@ -1143,4 +1143,8 @@ private:
Modifies the a_SetChunkData - moves the entities contained in it into the chunk. */
void SetChunkData(cSetChunkData & a_SetChunkData);
+ /** Checks if the sapling at the specified block coord is a part of a large-tree sapling (2x2).
+ If so, adjusts the X and Z coords so that they point to the northwest (XM ZM) corner of the sapling area and returns true.
+ Returns false if not a part of large-tree sapling. */
+ bool GetLargeTreeAdjustment(int & a_BlockX, int & a_BlockY, int & a_BlockZ, NIBBLETYPE a_SaplingMeta);
}; // tolua_export