undergrowth/trunks/lilypad.lua

66 lines
2.1 KiB
Lua

minetest.register_alias("trunks:lilypad", "trunks:lilypad_1")
local flat_stick = {-1/2, -1/2, -1/2, 1/2, -7/16, 1/2}
local NoDe = { {1}, {2}, {3}, {4} }
for i in pairs(NoDe) do
local NR = NoDe[i][1]
local iNV = NR - 1
minetest.register_node("trunks:lilypad_"..NR, {
description = "LilyPad",
inventory_image = "trunks_lilypad_"..NR..".png",
wield_image = "trunks_lilypad_"..NR..".png",
drawtype = "nodebox",
tiles = { "trunks_lilypad_"..NR..".png" },
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
buildable_to = true,
node_box = {type = "fixed", fixed = flat_stick},
groups = {
dig_immediate=3, -- almost literally immediate, like just picking up
attached_node=1,
not_in_creative_inventory=iNV
},
drop = "trunks:lilypad_1",
sounds = default.node_sound_leaves_defaults(),
liquids_pointable = true,
on_place = function(itemstack, placer, pointed_thing)
local pt = pointed_thing
local direction = minetest.dir_to_facedir(placer:get_look_dir())
if minetest.get_node(pt.above).name=="air" then
minetest.set_node(pt.above, {name="trunks:lilypad_"..math.random(1,3), param2=direction})
if not minetest.setting_getbool("creative_mode") then
itemstack:take_item()
end
return itemstack
end
end,
})
end
-----------------------------------------------------------------------------------------------
-- LilyPads
-----------------------------------------------------------------------------------------------
abstract_trunks.place_lilypad = function(pos)
local right_here = {x=pos.x, y=pos.y+1, z=pos.z}
minetest.add_node(right_here, {name="trunks:lilypad_"..math.random(1,3), param2=math.random(0,3)})
end
plantslib:register_generate_plant({
surface = {"default:water_source"},
max_count = Twigs_on_water_Max_Count,
rarity = Twigs_on_water_Rarity,
min_elevation = 1,
max_elevation = 40,
near_nodes = {"default:dirt_with_grass"},
near_nodes_size = 3,
near_nodes_vertical = 1,
near_nodes_count = 1,
plantlife_limit = -0.9,
},
"abstract_trunks.place_lilypad"
)