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 | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 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); + if (block) { + // 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; bool block_not_found = false; if (block) { - // 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; - // Check whether the block exists (with data) if (!block->isGenerated()) block_not_found = true;