From fbbdae93ee324584089efaf8e880a1378f6a2ad6 Mon Sep 17 00:00:00 2001 From: lhofhansl Date: Mon, 27 Feb 2023 09:57:03 -0800 Subject: [PATCH] Fix for #13255: Check if client has a block even if the server has unloaded it. (#13256) --- src/clientiface.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/clientiface.cpp b/src/clientiface.cpp index 8ae2efada..9d1a6cd03 100644 --- a/src/clientiface.cpp +++ b/src/clientiface.cpp @@ -298,18 +298,19 @@ void RemoteClient::GetNextBlocks ( Check if map has this block */ MapBlock *block = env->getMap().getBlockNoCreateNoEx(p); - - bool block_not_found = false; if (block) { - // Reset usage timer, this block will be of use in the future. + // First: Reset usage timer, this block will be of use in the future. block->resetUsageTimer(); + } - /* - Don't send already sent blocks - */ - if (m_blocks_sent.find(p) != m_blocks_sent.end()) - continue; + /* + Don't send already sent blocks + */ + if (m_blocks_sent.find(p) != m_blocks_sent.end()) + continue; + bool block_not_found = false; + if (block) { // Check whether the block exists (with data) if (!block->isGenerated()) block_not_found = true; -- 2.44.0