summaryrefslogtreecommitdiff
path: root/src/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.cpp')
-rw-r--r--src/server.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/server.cpp b/src/server.cpp
index 386817c8f..82c83e47d 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -2287,16 +2287,15 @@ void Server::SendBlocks(float dtime)
g_settings->getU32("max_simultaneous_block_sends_per_client") / 4 + 1;
ScopeProfiler sp(g_profiler, "Server::SendBlocks(): Send to clients");
+ Map &map = m_env->getMap();
+
for (const PrioritySortedBlockTransfer &block_to_send : queue) {
if (total_sending >= max_blocks_to_send)
break;
- MapBlock *block = nullptr;
- try {
- block = m_env->getMap().getBlockNoCreate(block_to_send.pos);
- } catch (const InvalidPositionException &e) {
+ MapBlock *block = map.getBlockNoCreateNoEx(block_to_send.pos);
+ if (!block)
continue;
- }
RemoteClient *client = m_clients.lockedGetClientNoEx(block_to_send.peer_id,
CS_Active);
@@ -2314,10 +2313,7 @@ void Server::SendBlocks(float dtime)
bool Server::SendBlock(session_t peer_id, const v3s16 &blockpos)
{
- MapBlock *block = nullptr;
- try {
- block = m_env->getMap().getBlockNoCreate(blockpos);
- } catch (InvalidPositionException &e) {};
+ MapBlock *block = m_env->getMap().getBlockNoCreateNoEx(blockpos);
if (!block)
return false;