1
0
cuberite-2a/src/ForEachChunkProvider.h

42 lines
892 B
C
Raw Normal View History

// ForEachChunkProvider.h
// Declares the cForEachChunkProvider class which acts as an interface for classes that provide a ForEachChunkInRect() function
// Primarily serves as a decoupling between cBlockArea and cWorld
2014-01-20 13:15:19 -05:00
#pragma once
// fwd:
class cChunkDataCallback;
class cBlockArea;
class cForEachChunkProvider
{
public:
virtual ~cForEachChunkProvider() {}
2016-02-05 16:45:45 -05:00
/** Calls the callback for each chunk in the specified range. */
virtual bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) = 0;
2016-02-05 16:45:45 -05:00
/** Writes the block area into the specified coords.
Returns true if all chunks have been processed.
a_DataTypes is a bitmask of cBlockArea::baXXX constants ORed together.
*/
virtual bool WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) = 0;
};