make townaura more preformant

This commit is contained in:
epCode 2022-11-13 14:22:00 -08:00 committed by cora
parent 28f952309e
commit c288b6ab93
1 changed files with 27 additions and 15 deletions

View File

@ -448,28 +448,40 @@ minetest.register_node("mcl_core:mycelium", {
})
mcl_core.register_snowed_node("mcl_core:mycelium_snow", "mcl_core:mycelium", nil, nil, false, S("Mycelium with Snow"))
local PARTICLE_ABM_DISTANCE = 16
--if minetest.settings:get("mcl_node_particles") == "full" then
minetest.register_abm({
label = "Townaura particles",
nodenames = {"group:mycelium"},
interval = 0.1,
interval = 2,
chance = 30,
action = function(pos, node)
local apos = {x=pos.x, y=pos.y+0.51, z=pos.z}
local vel = { x = math.random(-3, 3)/10, y = math.random(0, 10)/60, z = math.random(-3, 3)/10 }
local acc = { x = 0, y = 0, z = 0 }
minetest.add_particle({
pos = apos,
velocity = vel,
acceleration = acc,
expirationtime = 4,
collisiondetection = true,
collision_removal = true,
size = 1,
texture = "mcl_core_mycelium_particle.png",
glow = LIGHT_LAVA,
})
local player_near = false
for _,player in pairs(minetest.get_connected_players()) do
if vector.distance(player:get_pos(), pos) < PARTICLE_ABM_DISTANCE then
player_near = true
end
end
if player_near then
local apos = {x=pos.x-2, y=pos.y+0.51, z=pos.z-2}
local apos2 = {x=pos.x+2, y=pos.y+0.51, z=pos.z+2}
local acc = { x = 0, y = 0, z = 0 }
minetest.add_particlespawner({
time = 2,
amount = 5,
minpos = apos,
maxpos = apos2,
minvel = vector.new(-3/10, 0, -3/10),
maxvel = vector.new(3/10, 10/60, 3/10),
minacc = acc,
expirationtime = 4,
collisiondetection = true,
collision_removal = true,
size = 1,
texture = "mcl_core_mycelium_particle.png",
})
end
end,
})
--end