forked from VoxeLibre/VoxeLibre
Fix ice not melting properly by non-Sun light
This commit is contained in:
parent
23630bbac0
commit
6e9d712c5e
|
@ -1175,7 +1175,11 @@ minetest.register_abm({
|
||||||
chance = 8,
|
chance = 8,
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
if minetest.get_node_light(pos, 0) >= 12 then
|
if minetest.get_node_light(pos, 0) >= 12 then
|
||||||
minetest.remove_node(pos)
|
if node.name == "mcl_core:ice" then
|
||||||
|
mcl_core.melt_ice(pos)
|
||||||
|
else
|
||||||
|
minetest.remove_node(pos)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
@ -1206,6 +1210,19 @@ function mcl_core.check_vines_supported(pos, node)
|
||||||
return supported
|
return supported
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Melt ice at pos. mcl_core:ice MUST be a post if you call this!
|
||||||
|
function mcl_core.melt_ice(pos)
|
||||||
|
-- Create a water source if ice is destroyed and there was something below it
|
||||||
|
local below = {x=pos.x, y=pos.y-1, z=pos.z}
|
||||||
|
local belownode = minetest.get_node(below)
|
||||||
|
local dim = mcl_worlds.pos_to_dimension(below)
|
||||||
|
if dim ~= "nether" and belownode.name ~= "air" and belownode.name ~= "ignore" and belownode.name ~= "mcl_core:void" then
|
||||||
|
minetest.set_node(pos, {name="mcl_core:water_source"})
|
||||||
|
else
|
||||||
|
minetest.remove_node(pos)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
---- FUNCTIONS FOR SNOWED NODES ----
|
---- FUNCTIONS FOR SNOWED NODES ----
|
||||||
-- These are nodes which change their appearence when they are below a snow cover
|
-- These are nodes which change their appearence when they are below a snow cover
|
||||||
-- and turn back into “normal” when the snow cover is removed.
|
-- and turn back into “normal” when the snow cover is removed.
|
||||||
|
|
|
@ -781,13 +781,7 @@ minetest.register_node("mcl_core:ice", {
|
||||||
sounds = mcl_sounds.node_sound_glass_defaults(),
|
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||||
node_dig_prediction = "mcl_core:water_source",
|
node_dig_prediction = "mcl_core:water_source",
|
||||||
after_dig_node = function(pos, oldnode)
|
after_dig_node = function(pos, oldnode)
|
||||||
-- Create a water source if ice is destroyed and there was something below it
|
mcl_core.melt_ice(pos)
|
||||||
local below = {x=pos.x, y=pos.y-1, z=pos.z}
|
|
||||||
local belownode = minetest.get_node(below)
|
|
||||||
local dim = mcl_worlds.pos_to_dimension(below)
|
|
||||||
if dim ~= "nether" and belownode.name ~= "air" and belownode.name ~= "ignore" and belownode.name ~= "mcl_core:void" then
|
|
||||||
minetest.set_node(pos, {name="mcl_core:water_source"})
|
|
||||||
end
|
|
||||||
end,
|
end,
|
||||||
_mcl_blast_resistance = 2.5,
|
_mcl_blast_resistance = 2.5,
|
||||||
_mcl_hardness = 0.5,
|
_mcl_hardness = 0.5,
|
||||||
|
|
Loading…
Reference in New Issue