From 39fbf1527308993cea7e0d2235ee1687e80d9755 Mon Sep 17 00:00:00 2001
From: Perttu Ahola <celeron55@gmail.com>
Date: Tue, 25 Jan 2011 09:29:59 +0200
Subject: [PATCH] Fixed a bug of server not reloading unloaded blocks when
 player builds or digs on them.

---
 src/server.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/server.cpp b/src/server.cpp
index 716ff77c6..505e9730f 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -1966,8 +1966,11 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
 			}
 			catch(InvalidPositionException &e)
 			{
-				derr_server<<"Server: Not finishing digging: Node not found"
+				derr_server<<"Server: Not finishing digging: Node not found."
+						<<" Adding block to emerge queue."
 						<<std::endl;
+				m_emerge_queue.addBlock(peer_id,
+						getNodeBlockPos(p_over), BLOCK_EMERGE_FLAG_FROMDISK);
 				return;
 			}
 			
@@ -2117,7 +2120,10 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
 				catch(InvalidPositionException &e)
 				{
 					derr_server<<"Server: Ignoring ADDNODE: Node not found"
+							<<" Adding block to emerge queue."
 							<<std::endl;
+					m_emerge_queue.addBlock(peer_id,
+							getNodeBlockPos(p_over), BLOCK_EMERGE_FLAG_FROMDISK);
 					return;
 				}
 
-- 
GitLab