146 lines
3.2 KiB
Lua
146 lines
3.2 KiB
Lua
-- LUALOCALS < ---------------------------------------------------------
|
|
local minetest, nodecore
|
|
= minetest, nodecore
|
|
-- LUALOCALS > ---------------------------------------------------------
|
|
|
|
local modname = minetest.get_current_modname()
|
|
|
|
minetest.register_node(modname .. ":root", {
|
|
description = "Stump",
|
|
tiles = {
|
|
modname .. "_tree_top.png",
|
|
"nc_terrain_dirt.png",
|
|
"nc_terrain_dirt.png^" .. modname .. "_roots.png"
|
|
},
|
|
silktouch = false,
|
|
groups = {
|
|
flammable = 50,
|
|
fire_fuel = 4,
|
|
choppy = 4
|
|
},
|
|
drop = "nc_tree:stick 8",
|
|
sounds = nodecore.sounds("nc_tree_woody")
|
|
})
|
|
|
|
minetest.register_node(modname .. ":log", {
|
|
description = "Log",
|
|
tiles = {
|
|
modname .. "_tree_top.png",
|
|
modname .. "_tree_top.png",
|
|
modname .. "_tree_side.png"
|
|
},
|
|
groups = {
|
|
choppy = 2,
|
|
flammable = 8,
|
|
fire_fuel = 6,
|
|
log = 1
|
|
},
|
|
sounds = nodecore.sounds("nc_tree_woody"),
|
|
paramtype2 = "facedir",
|
|
on_place = minetest.rotate_node
|
|
})
|
|
|
|
minetest.register_node(modname .. ":tree", {
|
|
description = "Tree Trunk",
|
|
tiles = {
|
|
modname .. "_tree_top.png",
|
|
modname .. "_tree_top.png",
|
|
modname .. "_tree_side.png"
|
|
},
|
|
groups = {
|
|
choppy = 2,
|
|
flammable = 8,
|
|
fire_fuel = 6,
|
|
log = 1,
|
|
falling_node = 1
|
|
},
|
|
crush_damage = 1,
|
|
sounds = nodecore.sounds("nc_tree_woody"),
|
|
drop = modname .. ":log"
|
|
})
|
|
|
|
nodecore.register_aism({
|
|
label = "Tree Trunk Conversion",
|
|
interval = 1,
|
|
chance = 1,
|
|
itemnames = {modname .. ":tree"},
|
|
action = function(stack)
|
|
stack:set_name(modname .. ":log")
|
|
return stack
|
|
end
|
|
})
|
|
|
|
minetest.register_node(modname .. ":leaves", {
|
|
description = "Leaves",
|
|
drawtype = "allfaces_optional",
|
|
paramtype = "light",
|
|
tiles = {modname .. "_leaves.png"},
|
|
waving = 1,
|
|
groups = {
|
|
snappy = 1,
|
|
flammable = 3,
|
|
fire_fuel = 2,
|
|
green = 3
|
|
},
|
|
alternate_loose = {
|
|
tiles = {modname .. "_leaves_dry.png"},
|
|
walkable = false,
|
|
groups = {
|
|
flammable = 1,
|
|
falling_repose = 1,
|
|
green = 1,
|
|
stack_as_node = 1
|
|
}
|
|
},
|
|
alternate_solid = {
|
|
after_dig_node = function(...)
|
|
return nodecore.leaf_decay(...)
|
|
end,
|
|
node_dig_prediction = "air"
|
|
},
|
|
no_repack = true,
|
|
sounds = nodecore.sounds("nc_terrain_swishy")
|
|
})
|
|
nodecore.register_leaf_drops(function(_, _, list)
|
|
list[#list + 1] = {name = modname .. ":leaves_loose", prob = 0.5}
|
|
list[#list + 1] = {name = "air"}
|
|
end)
|
|
|
|
minetest.register_node(modname .. ":tree_bud", {
|
|
description = "Growing Tree Trunk",
|
|
tiles = {
|
|
modname .. "_bud_top.png",
|
|
modname .. "_tree_top.png",
|
|
modname .. "_bud_side.png"
|
|
},
|
|
groups = {
|
|
choppy = 2,
|
|
flammable = 12,
|
|
fire_fuel = 6,
|
|
falling_node = 1
|
|
},
|
|
crush_damage = 1,
|
|
sounds = nodecore.sounds("nc_tree_woody"),
|
|
drop_in_place = modname .. ":tree"
|
|
})
|
|
|
|
minetest.register_node(modname .. ":leaves_bud", {
|
|
description = "Leaves",
|
|
drawtype = "allfaces_optional",
|
|
paramtype = "light",
|
|
tiles = {modname .. "_leaves.png"},
|
|
waving = 1,
|
|
groups = {
|
|
snappy = 1,
|
|
flammable = 5,
|
|
fire_fuel = 2,
|
|
green = 4
|
|
},
|
|
drop = "",
|
|
after_dig_node = function(...)
|
|
return nodecore.leaf_decay(...)
|
|
end,
|
|
node_dig_prediction = "air",
|
|
sounds = nodecore.sounds("nc_terrain_swishy")
|
|
})
|