70 lines
1.8 KiB
Lua
70 lines
1.8 KiB
Lua
|
|
-- Waterlily (built column by column, bottom to top)
|
|
|
|
local a = "default:sand"
|
|
local b = "default:water_source"
|
|
local c = "flowers:waterlily"
|
|
|
|
ethereal.waterlily = {
|
|
size = {x = 1, y = 3, z = 1},
|
|
data = {
|
|
|
|
{name=a, param1=255},
|
|
{name=b, param1=255},
|
|
{name=c, param1=255},
|
|
|
|
},
|
|
}
|
|
|
|
if minetest.registered_nodes["flowers:waterlily"] then
|
|
|
|
minetest.override_item("flowers:waterlily", {
|
|
walkable = true,
|
|
})
|
|
|
|
else
|
|
|
|
minetest.register_node(":flowers:waterlily", {
|
|
description = "Waterlily",
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
tiles = {"flowers_waterlily.png"},
|
|
inventory_image = "flowers_waterlily.png",
|
|
wield_image = "flowers_waterlily.png",
|
|
liquids_pointable = true,
|
|
walkable = true,
|
|
buildable_to = true,
|
|
groups = {snappy = 3, flower = 1},
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {-0.5, -0.5, -0.5, 0.5, -0.46875, 0.5}
|
|
},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}
|
|
},
|
|
|
|
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
|
local find_water = minetest.find_nodes_in_area({x = pos.x - 1, y = pos.y, z = pos.z - 1},
|
|
{x = pos.x + 1, y = pos.y, z = pos.z + 1}, "default:water_source")
|
|
local find_river_water = minetest.find_nodes_in_area({x = pos.x - 1, y = pos.y, z = pos.z - 1},
|
|
{x = pos.x + 1, y = pos.y, z = pos.z + 1}, "default:river_water_source")
|
|
if #find_water ~= 0 then
|
|
minetest.set_node(pos, {name = "default:water_source"})
|
|
pos.y = pos.y + 1
|
|
minetest.set_node(pos, {name = "flowers:waterlily", param2 = math.random(0, 3)})
|
|
elseif #find_river_water ~= 0 then
|
|
minetest.set_node(pos, {name = "default:river_water_source"})
|
|
pos.y = pos.y + 1
|
|
minetest.set_node(pos, {name = "flowers:waterlily", param2 = math.random(0, 3)})
|
|
else
|
|
minetest.remove_node(pos)
|
|
return true
|
|
end
|
|
end
|
|
})
|
|
|
|
end
|