Add river water support for bottles and cauldrons
This commit is contained in:
parent
99af7618ee
commit
142317c65a
5 changed files with 133 additions and 41 deletions
|
@ -206,6 +206,13 @@ minetest.register_craftitem("mcl_buckets:bucket_empty", {
|
|||
new_bucket = ItemStack("mcl_buckets:bucket_water")
|
||||
end
|
||||
sound_take("mcl_core:water_source", pointed_thing.under)
|
||||
elseif nn == "mcl_cauldrons:cauldron_3r" then
|
||||
-- Take river water out of full cauldron
|
||||
minetest.set_node(pointed_thing.under, {name="mcl_cauldrons:cauldron"})
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
new_bucket = ItemStack("mcl_buckets:bucket_river_water")
|
||||
end
|
||||
sound_take("mclx_core:river_water_source", pointed_thing.under)
|
||||
end
|
||||
|
||||
-- Add liquid bucket and put it into inventory, if possible.
|
||||
|
@ -260,14 +267,11 @@ if mod_mcl_core then
|
|||
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
|
||||
if minetest.get_item_group(nn, "cauldron") ~= 0 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
|
||||
if nn ~= "mcl_cauldrons:cauldron_3" then
|
||||
minetest.set_node(pos, {name="mcl_cauldrons:cauldron_3"})
|
||||
end
|
||||
sound_place("mcl_core:water_source", pos)
|
||||
return false
|
||||
-- Evaporate water if used in Nether (except on cauldron)
|
||||
|
@ -295,19 +299,21 @@ if mod_mclx_core then
|
|||
"Right-click on any block to empty the bucket and put a river water source on this spot.",
|
||||
function(pos)
|
||||
local nn = minetest.get_node(pos).name
|
||||
-- TODO: Implement cauldron support.
|
||||
-- Ignore cauldron
|
||||
if (nn == "mcl_cauldrons:cauldron" or
|
||||
nn == "mcl_cauldrons:cauldron_1" or
|
||||
nn == "mcl_cauldrons:cauldron_2" or
|
||||
nn == "mcl_cauldrons:cauldron_3") then
|
||||
return false
|
||||
end
|
||||
-- Evaporate water if used in Nether (except on cauldron)
|
||||
local dim = mcl_worlds.pos_to_dimension(pos)
|
||||
if dim == "nether" then
|
||||
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
|
||||
-- Pour into cauldron
|
||||
if minetest.get_item_group(nn, "cauldron") ~= 0 then
|
||||
-- Put water into cauldron
|
||||
if nn ~= "mcl_cauldrons:cauldron_3r" then
|
||||
minetest.set_node(pos, {name="mcl_cauldrons:cauldron_3r"})
|
||||
end
|
||||
sound_place("mcl_core:water_source", pos)
|
||||
return false
|
||||
else
|
||||
-- Evaporate water if used in Nether (except on cauldron)
|
||||
local dim = mcl_worlds.pos_to_dimension(pos)
|
||||
if dim == "nether" then
|
||||
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
|
||||
return false
|
||||
end
|
||||
end
|
||||
end,
|
||||
{ water_bucket = 1 }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue