mirror of
				https://github.com/minetest-mods/mesecons.git
				synced 2025-11-04 04:55:26 +01:00 
			
		
		
		
	Command block server crash fixed
Before that, command block would crash the server if activated when no players are online
This commit is contained in:
		@@ -93,9 +93,22 @@ local function receive_fields(pos, formname, fields, sender)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function resolve_commands(commands, pos)
 | 
			
		||||
	local players = minetest.get_connected_players()
 | 
			
		||||
 | 
			
		||||
	-- No players online: remove all commands containing
 | 
			
		||||
	-- @nearest, @farthest and @random
 | 
			
		||||
	if #players == 0 then
 | 
			
		||||
		commands = commands:gsub("[^\r\n]+", function (line)
 | 
			
		||||
			if line:find("@nearest") then return "" end
 | 
			
		||||
			if line:find("@farthest") then return "" end
 | 
			
		||||
			if line:find("@random") then return "" end
 | 
			
		||||
			return line
 | 
			
		||||
		end)
 | 
			
		||||
		return commands
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local nearest, farthest = nil, nil
 | 
			
		||||
	local min_distance, max_distance = math.huge, -1
 | 
			
		||||
	local players = minetest.get_connected_players()
 | 
			
		||||
	for index, player in pairs(players) do
 | 
			
		||||
		local distance = vector.distance(pos, player:getpos())
 | 
			
		||||
		if distance < min_distance then
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user