Merge pull request 'Fixes #13 Update rain.lua from upstream' (#14) from NilsG/MineClone2_Override:fix_rain into main

Reviewed-on: Minetest/MineClone2_Override#14
Reviewed-by: fusselkater <fussel@fusselkater.org>
This commit is contained in:
fusselkater 2023-03-09 18:47:32 +01:00
commit 78f26b4adf

View file

@ -27,10 +27,10 @@ local psdef= {
time=0, time=0,
minpos = vector.new(-15,20,-15), minpos = vector.new(-15,20,-15),
maxpos = vector.new(15,25,15), maxpos = vector.new(15,25,15),
minvel = vector.new(-2,-17,-2), minvel = vector.new(0,-20,0),
maxvel = vector.new(2,-8,2), maxvel = vector.new(0,-15,0),
minacc = vector.new(0,0,0), minacc = vector.new(0,-0.8,0),
maxacc = vector.new(0,-0.5,0), maxacc = vector.new(0,-0.8,0),
minexptime = 1, minexptime = 1,
maxexptime = 4, maxexptime = 4,
minsize = 4, minsize = 4,
@ -251,7 +251,7 @@ if mcl_weather.allow_abm then
} }
for a=1, #around do for a=1, #around do
local apos = vector.add(pos, around[a]) local apos = vector.add(pos, around[a])
if mcl_weather.is_outdoor(apos) then if mcl_weather.is_outdoor(apos) and mcl_weather.has_rain(apos) then
minetest.remove_node(pos) minetest.remove_node(pos)
minetest.sound_play("fire_extinguish_flame", {pos = pos, max_hear_distance = 8, gain = 0.1}, true) minetest.sound_play("fire_extinguish_flame", {pos = pos, max_hear_distance = 8, gain = 0.1}, true)
return return
@ -269,7 +269,7 @@ if mcl_weather.allow_abm then
chance = 1, chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider) action = function(pos, node, active_object_count, active_object_count_wider)
-- Rain is equivalent to a water bottle -- Rain is equivalent to a water bottle
if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) then if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) and mcl_weather.has_rain(pos) then
if node.name == "mcl_cauldrons:cauldron" then if node.name == "mcl_cauldrons:cauldron" then
minetest.set_node(pos, {name="mcl_cauldrons:cauldron_1"}) minetest.set_node(pos, {name="mcl_cauldrons:cauldron_1"})
elseif node.name == "mcl_cauldrons:cauldron_1" then elseif node.name == "mcl_cauldrons:cauldron_1" then
@ -292,7 +292,7 @@ if mcl_weather.allow_abm then
interval = 22.0, interval = 22.0,
chance = 3, chance = 3,
action = function(pos, node, active_object_count, active_object_count_wider) action = function(pos, node, active_object_count, active_object_count_wider)
if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) then if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) and mcl_weather.has_rain(pos) then
if node.name == "mcl_farming:soil" then if node.name == "mcl_farming:soil" then
minetest.set_node(pos, {name="mcl_farming:soil_wet"}) minetest.set_node(pos, {name="mcl_farming:soil_wet"})
end end