forked from luanti-org/minetest_game
		
	Intersects_protection(): Remove from Minetest Game
Add compatibility code with deprecation warning.
This commit is contained in:
		@@ -497,46 +497,6 @@ minetest.register_abm({
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Checks if specified volume intersects a protected volume
 | 
			
		||||
--
 | 
			
		||||
 | 
			
		||||
function default.intersects_protection(minp, maxp, player_name, interval)
 | 
			
		||||
	-- 'interval' is the largest allowed interval for the 3D lattice of checks
 | 
			
		||||
 | 
			
		||||
	-- Compute the optimal float step 'd' for each axis so that all corners and
 | 
			
		||||
	-- borders are checked. 'd' will be smaller or equal to 'interval'.
 | 
			
		||||
	-- Subtracting 1e-4 ensures that the max co-ordinate will be reached by the
 | 
			
		||||
	-- for loop (which might otherwise not be the case due to rounding errors).
 | 
			
		||||
	local d = {}
 | 
			
		||||
	for _, c in pairs({"x", "y", "z"}) do
 | 
			
		||||
		if maxp[c] > minp[c] then
 | 
			
		||||
			d[c] = (maxp[c] - minp[c]) / math.ceil((maxp[c] - minp[c]) / interval) - 1e-4
 | 
			
		||||
		elseif maxp[c] == minp[c] then
 | 
			
		||||
			d[c] = 1 -- Any value larger than 0 to avoid division by zero
 | 
			
		||||
		else -- maxp[c] < minp[c], print error and treat as protection intersected
 | 
			
		||||
			minetest.log("error", "maxp < minp in 'default.intersects_protection()'")
 | 
			
		||||
			return true
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	for zf = minp.z, maxp.z, d.z do
 | 
			
		||||
		local z = math.floor(zf + 0.5)
 | 
			
		||||
		for yf = minp.y, maxp.y, d.y do
 | 
			
		||||
			local y = math.floor(yf + 0.5)
 | 
			
		||||
			for xf = minp.x, maxp.x, d.x do
 | 
			
		||||
				local x = math.floor(xf + 0.5)
 | 
			
		||||
				if minetest.is_protected({x = x, y = y, z = z}, player_name) then
 | 
			
		||||
					return true
 | 
			
		||||
				end
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	return false
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Coral death near air
 | 
			
		||||
--
 | 
			
		||||
 
 | 
			
		||||
@@ -37,3 +37,10 @@ end
 | 
			
		||||
 | 
			
		||||
-- Chests
 | 
			
		||||
default.register_chest = default.chest.register_chest
 | 
			
		||||
 | 
			
		||||
-- Check for a volume intersecting protection
 | 
			
		||||
function default.intersects_protection(minp, maxp, player_name, interval)
 | 
			
		||||
	minetest.log("warning", "default.intersects_protection() is " ..
 | 
			
		||||
		"deprecated, use minetest.intersects_protection() instead.")
 | 
			
		||||
	minetest.intersects_protection(minp, maxp, player_name, interval)
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
@@ -490,7 +490,7 @@ function default.sapling_on_place(itemstack, placer, pointed_thing,
 | 
			
		||||
		return itemstack
 | 
			
		||||
	end
 | 
			
		||||
	-- Check tree volume for protection
 | 
			
		||||
	if default.intersects_protection(
 | 
			
		||||
	if minetest.intersects_protection(
 | 
			
		||||
			vector.add(pos, minp_relative),
 | 
			
		||||
			vector.add(pos, maxp_relative),
 | 
			
		||||
			player_name,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user