Skip to content
Snippets Groups Projects
Commit a2d4e577 authored by Auke Kok's avatar Auke Kok Committed by paramat
Browse files

Call nodeupdate on the entire blast zone

This will make sand and gravel blocks on top of TNT actually fly
in the air.

  https://youtu.be/4omndVZijLc
parent 8114c3db
No related branches found
No related tags found
No related merge requests found
......@@ -247,6 +247,19 @@ local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast)
vm:update_map()
vm:update_liquids()
-- call nodeupdate for everything within 1.5x blast radius
for z = -radius * 1.5, radius * 1.5 do
for x = -radius * 1.5, radius * 1.5 do
for y = -radius * 1.5, radius * 1.5 do
local s = vector.add(pos, {x = x, y = y, z = z})
local r = vector.distance(pos, s)
if r / radius < 1.4 then
nodeupdate(s)
end
end
end
end
for _, data in ipairs(on_blast_queue) do
local dist = math.max(1, vector.distance(data.pos, pos))
local intensity = (radius * radius) / (dist * dist)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment