62 lines
1.5 KiB
Lua
Raw Normal View History

-- LUALOCALS < ---------------------------------------------------------
2018-11-03 11:26:15 -04:00
local ipairs, minetest, nodecore, type
2019-01-04 20:36:46 -05:00
= ipairs, minetest, nodecore, type
-- LUALOCALS > ---------------------------------------------------------
2018-11-02 00:08:42 -04:00
local modname = minetest.get_current_modname()
minetest.register_node(modname .. ":root", {
description = "Root",
tiles = {
modname .. "_tree_top.png",
"nc_terrain_dirt.png",
"nc_terrain_dirt.png^" .. modname .. "_roots.png"
},
})
minetest.register_node(modname .. ":tree", {
description = "Tree",
tiles = {
modname .. "_tree_top.png",
modname .. "_tree_top.png",
modname .. "_tree_side.png"
2019-01-04 20:36:46 -05:00
},
groups = {
choppy = 2
}
2018-11-02 00:08:42 -04:00
})
2018-11-02 00:50:34 -04:00
minetest.register_node(modname .. ":leaves", {
description = "Leaves",
drawtype = "allfaces_optional",
paramtype = "light",
tiles = { modname .. "_leaves.png" },
groups = { snappy = 2 },
alternate_loose = {
tiles = { modname .. "_leaves_dry.png" },
walkable = false,
groups = {
snappy = 3,
falling_repose = 1
}
},
alternate_solid = {
after_dig_node = function(pos, node)
2018-11-03 11:26:15 -04:00
node = node or minetest.get_node(pos)
local t = {}
for i, v in ipairs(nodecore.registered_leaf_drops) do
t = v(pos, node, t) or t
end
2018-11-03 11:26:15 -04:00
local p = nodecore.pickrand(t, function(x) return x.prob end)
if not p then return end
minetest.place_node(pos, p)
end
}
})
2018-11-03 11:26:15 -04:00
nodecore.register_leaf_drops(function(pos, node, list)
list[#list + 1] = {name = modname .. ":leaves_loose"}
end)
local function fixed(t) return {type = "fixed", fixed = t} end