void startThreads();
void stopThreads();
+ bool isRunning();
bool enqueueBlockEmerge(
u16 peer_id,
// Mapgen helpers methods
Biome *getBiomeAtPoint(v3s16 p);
+ int getSpawnLevelAtPoint(v2s16 p);
int getGroundLevelAtPoint(v2s16 p);
bool isBlockUnderground(v3s16 blockpos);
static MapgenFactory *getMapgenFactory(const std::string &mgname);
- static void getMapgenNames(std::vector<const char *> *mgnames);
+ static void getMapgenNames(
+ std::vector<const char *> *mgnames, bool include_hidden);
static v3s16 getContainingChunk(v3s16 blockpos, s16 chunksize);
private:
// Requires m_queue_mutex held
EmergeThread *getOptimalThread();
- bool pushBlockEmergeData(v3s16 pos, u16 peer_requested, u16 flags,
- EmergeCompletionCallback callback, void *callback_param);
+
+ bool pushBlockEmergeData(
+ v3s16 pos,
+ u16 peer_requested,
+ u16 flags,
+ EmergeCompletionCallback callback,
+ void *callback_param,
+ bool *entry_already_exists);
+
bool popBlockEmergeData(v3s16 pos, BlockEmergeData *bedata);
friend class EmergeThread;
+
+ DISABLE_CLASS_COPY(EmergeManager);
};
#endif