Enable more options for particles, fix skybox reset, add new debug command, fix daylight influence

This commit is contained in:
Till Affeldt
2020-04-22 00:56:34 +02:00
parent d1bdf92937
commit c9d0cfca21
9 changed files with 57 additions and 23 deletions

View File

@ -21,7 +21,10 @@ local function spawn_particles(player, particles)
y = -particles.falling_speed,
z = wind.z
})
local acc = vector.new({x=0, y=0, z=0})
if particles.acceleration == nil then
particles.acceleration = vector.new({x=0, y=0, z=0})
end
local wind_pos = vector.multiply(
vector.normalize(vel),
@ -31,25 +34,35 @@ local function spawn_particles(player, particles)
local minp = vector.add(vector.add(ppos, particles.min_pos), wind_pos)
local maxp = vector.add(vector.add(ppos, particles.max_pos), wind_pos)
local exp = particles.exptime
local vertical = math.abs(vector.normalize(vel).y) >= 0.6
if particles.time == nil then
particles.time = 0.5
end
if particles.vertical == nil then
particles.vertical = math.abs(vector.normalize(vel).y) >= 0.6
end
if particles.size ~= nil then
particles.min_size = particles.size
particles.max_size = particles.size
end
minetest.add_particlespawner({
amount = amount,
time = 0.5,
time = particles.time,
minpos = minp,
maxpos = maxp,
minvel = vel,
maxvel = vel,
minacc = acc,
maxacc = acc,
minexptime = exp,
maxexptime = exp,
minsize = particles.size,
maxsize = particles.size,
minacc = particles.acceleration,
maxacc = particles.acceleration,
minexptime = particles.exptime,
maxexptime = particles.exptime,
minsize = particles.min_size,
maxsize = particles.max_size,
collisiondetection = true,
collision_removal = true,
vertical = vertical,
vertical = particles.vertical,
texture = texture,
player = player:get_player_name()
})

View File

@ -15,7 +15,11 @@ end
local function remove_skybox(player)
if not player.get_stars then return end
player:set_sky({ type = "regular", clouds = true })
player:set_sky(sky_defaults.sky_data)
player:set_clouds(sky_defaults.cloud_data)
player:set_moon(sky_defaults.moon_data)
player:set_sun(sky_defaults.sun_data)
player:set_stars(sky_defaults.star_data)
end
local function handle_effect(player_data)

View File

@ -41,7 +41,6 @@ local function handle_effect(player_data, prev_data)
end
local function stop_effect(prev_data)
minetest.log(dump2(prev_data, "stop_effect"))
for playername, data in pairs(prev_data) do
for weather, value in pairs(data) do
stop_sound(playername, value)