From fcd9c73f2f63f93e8d7a0f07ae605fa3d0d467b3 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 5 Sep 2025 22:03:40 +0200 Subject: [PATCH] Send node dig particles to all other players --- builtin/game/item.lua | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/builtin/game/item.lua b/builtin/game/item.lua index 48dad76de9..fa3590ac6e 100644 --- a/builtin/game/item.lua +++ b/builtin/game/item.lua @@ -569,6 +569,26 @@ function core.node_dig(pos, node, digger) exclude_player = diggername, }, true) end + -- Particles also + if diggername ~= "" and def and def.drawtype ~= "airlike" then + -- cf. ParticleManager::addDiggingParticles() et al + local gravity = tonumber(core.settings:get("movement_gravity")) or 9.81 + core.add_particlespawner({ + amount = 16, + time = 0.001, + minpos = vector.offset(pos, -0.25, -0.25, -0.25), + maxpos = vector.offset(pos, 0.25, 0.25, 0.25), + minvel = vector.new(-1.5, 0, -1.5), + maxvel = vector.new(1.5, 3, 1.5), + minacc = vector.new(0, -gravity, 0), + maxacc = vector.new(0, -gravity, 0), + minexptime = 0, maxexptime = 1, + minsize = 0, maxsize = 0, -- random + node = node, + blend = (def and def.use_texture_alpha == "blend") and "blend" or "clip", + exclude_player = diggername, + }) + end -- Run callback if def and def.after_dig_node then