summaryrefslogtreecommitdiff
path: root/src/serverenvironment.cpp
diff options
context:
space:
mode:
authorSmallJoker <SmallJoker@users.noreply.github.com>2021-05-30 20:24:12 +0200
committerGitHub <noreply@github.com>2021-05-30 20:24:12 +0200
commitc9144ae5e22ee041fed2512cd3055608c6e9a4bc (patch)
treebcdcf98233034af6b6cf10f61dde0d1711bac068 /src/serverenvironment.cpp
parent89f3991351185b365ccd10525e74d35d7bb2da46 (diff)
downloadminetest-c9144ae5e22ee041fed2512cd3055608c6e9a4bc.tar.gz
minetest-c9144ae5e22ee041fed2512cd3055608c6e9a4bc.tar.bz2
minetest-c9144ae5e22ee041fed2512cd3055608c6e9a4bc.zip
Add core.compare_block_status function (#11247)
Makes it possible to check the status of the mapblock in a future-extensible way.
Diffstat (limited to 'src/serverenvironment.cpp')
-rw-r--r--src/serverenvironment.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp
index 3d9ba132b..413a785e6 100644
--- a/src/serverenvironment.cpp
+++ b/src/serverenvironment.cpp
@@ -1542,6 +1542,21 @@ void ServerEnvironment::step(float dtime)
m_server->sendDetachedInventories(PEER_ID_INEXISTENT, true);
}
+ServerEnvironment::BlockStatus ServerEnvironment::getBlockStatus(v3s16 blockpos)
+{
+ if (m_active_blocks.contains(blockpos))
+ return BS_ACTIVE;
+
+ const MapBlock *block = m_map->getBlockNoCreateNoEx(blockpos);
+ if (block && !block->isDummy())
+ return BS_LOADED;
+
+ if (m_map->isBlockInQueue(blockpos))
+ return BS_EMERGING;
+
+ return BS_UNKNOWN;
+}
+
u32 ServerEnvironment::addParticleSpawner(float exptime)
{
// Timers with lifetime 0 do not expire