Fix cauldrons not working in the Nether

Wuzzy 2017-08-21 18:39:41 +02:00
parent 8d9e46b535
commit 757e727b4f

@ -102,16 +102,6 @@ function mcl_buckets.register_liquid(source_place, source_take, itemname, invent
if extra_check and extra_check(place_pos) == false then if extra_check and extra_check(place_pos) == false then
-- Fail placement of liquid -- Fail placement of liquid
elseif item == "mcl_buckets:bucket_water" and
(nn == "mcl_cauldrons:cauldron" or
nn == "mcl_cauldrons:cauldron_1" or
nn == "mcl_cauldrons:cauldron_2") then
-- Put water into cauldron
minetest.set_node(place_pos, {name="mcl_cauldrons:cauldron_3"})
sound_place("mcl_core:water_source", pos)
elseif item == "mcl_buckets:bucket_water" and nn == "mcl_cauldrons:cauldron_3" then
sound_place("mcl_core:water_source", pos)
elseif minetest.registered_nodes[nn] and minetest.registered_nodes[nn].buildable_to then elseif minetest.registered_nodes[nn] and minetest.registered_nodes[nn].buildable_to then
-- buildable; replace the node -- buildable; replace the node
local pns = user:get_player_name() local pns = user:get_player_name()
@ -247,12 +237,25 @@ if mod_mcl_core then
"A bucket can be used to collect and release liquids. This one is filled with water.", "A bucket can be used to collect and release liquids. This one is filled with water.",
"Right-click on any block to empty the bucket and put a water source on this spot.", "Right-click on any block to empty the bucket and put a water source on this spot.",
function(pos) function(pos)
local nn = minetest.get_node(pos).name
-- Pour water into cauldron
if (nn == "mcl_cauldrons:cauldron" or
nn == "mcl_cauldrons:cauldron_1" or
nn == "mcl_cauldrons:cauldron_2") then
-- Put water into cauldron
minetest.set_node(pos, {name="mcl_cauldrons:cauldron_3"})
sound_place("mcl_core:water_source", pos)
return false
elseif nn == "mcl_cauldrons:cauldron_3" then
sound_place("mcl_core:water_source", pos)
return false
-- Evaporate water if used in Nether (except on cauldron)
else
local _, dim = mcl_util.y_to_layer(pos.y) local _, dim = mcl_util.y_to_layer(pos.y)
if dim == "nether" then if dim == "nether" then
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}) minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
return false return false
else end
return true
end end
end end
) )