2014-12-27 07:06:09 +01:00
|
|
|
local S = moretrees.intllib
|
2014-03-12 22:24:42 +01:00
|
|
|
|
2013-01-20 22:15:54 +01:00
|
|
|
moretrees.avoidnodes = {}
|
2013-01-20 00:36:13 +01:00
|
|
|
|
2013-02-12 04:07:40 +01:00
|
|
|
moretrees.treelist = {
|
2014-08-24 09:14:08 +02:00
|
|
|
{"beech", "Beech Tree"},
|
2013-02-11 06:09:53 +01:00
|
|
|
{"apple_tree", "Apple Tree"},
|
2015-08-14 17:50:34 +02:00
|
|
|
{"oak", "Oak Tree", "acorn", "Acorn", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },
|
2014-08-24 09:14:08 +02:00
|
|
|
{"sequoia", "Giant Sequoia"},
|
|
|
|
{"birch", "Birch Tree"},
|
2016-05-19 13:26:52 +02:00
|
|
|
{"palm", "Palm Tree", "palm_fruit_trunk_gen", "Palm Tree", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 1.0 },
|
2016-05-18 22:54:19 +02:00
|
|
|
{"date_palm", "Date Palm Tree", "date_palm_fruit_trunk", "Date Palm Tree", {0, 0, 0, 0, 0, 0}, 0.0 },
|
2015-08-14 17:50:34 +02:00
|
|
|
{"spruce", "Spruce Tree", "spruce_cone", "Spruce Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },
|
2016-05-18 16:54:45 +02:00
|
|
|
{"cedar", "Cedar Tree", "cedar_cone", "Cedar Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },
|
2016-07-01 16:06:29 +02:00
|
|
|
{"poplar", "Poplar Tree"},
|
|
|
|
{"poplar_small", "Poplar Tree"},
|
2014-08-24 09:14:08 +02:00
|
|
|
{"willow", "Willow Tree"},
|
2013-02-11 06:09:53 +01:00
|
|
|
{"rubber_tree", "Rubber Tree"},
|
2015-08-14 17:50:34 +02:00
|
|
|
{"fir", "Douglas Fir", "fir_cone", "Fir Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },
|
|
|
|
|
|
|
|
{"jungletree", "Jungle Tree", nil, nil, nil, nil, "default_junglesapling.png" },
|
2013-01-20 00:36:13 +01:00
|
|
|
}
|
|
|
|
|
2013-04-24 14:43:27 +02:00
|
|
|
local dirs1 = { 21, 20, 23, 22, 21 }
|
|
|
|
local dirs2 = { 12, 9, 18, 7, 12 }
|
|
|
|
local dirs3 = { 14, 11, 16, 5, 14 }
|
|
|
|
|
2013-12-15 19:30:17 +01:00
|
|
|
local moretrees_new_leaves_drawtype = "allfaces_optional"
|
|
|
|
local moretrees_plantlike_leaves_visual_scale = 1
|
|
|
|
|
2013-11-23 05:51:42 +01:00
|
|
|
if moretrees.plantlike_leaves then
|
2013-11-15 00:05:37 +01:00
|
|
|
moretrees_new_leaves_drawtype = "plantlike"
|
2017-02-10 15:48:20 +01:00
|
|
|
moretrees_plantlike_leaves_visual_scale = math.sqrt(2)
|
2013-11-15 00:05:37 +01:00
|
|
|
end
|
|
|
|
|
2014-07-30 20:53:27 +02:00
|
|
|
-- redefine default leaves to handle plantlike and/or leaf decay options
|
2013-11-23 05:51:42 +01:00
|
|
|
|
2014-07-30 20:53:27 +02:00
|
|
|
if moretrees.plantlike_leaves then
|
|
|
|
minetest.override_item("default:leaves", {
|
|
|
|
inventory_image = minetest.inventorycube("default_leaves.png"),
|
|
|
|
drawtype = "plantlike",
|
2017-02-10 15:48:20 +01:00
|
|
|
visual_scale = math.sqrt(2)
|
2014-07-30 20:53:27 +02:00
|
|
|
})
|
|
|
|
else
|
|
|
|
minetest.override_item("default:leaves", {
|
|
|
|
waving = 1
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
|
|
|
-- redefine default jungle leaves for same
|
|
|
|
|
|
|
|
if moretrees.plantlike_leaves then
|
|
|
|
minetest.override_item("default:jungleleaves", {
|
|
|
|
inventory_image = minetest.inventorycube("default_jungleleaves.png"),
|
|
|
|
drawtype = "plantlike",
|
2017-02-10 15:48:20 +01:00
|
|
|
visual_scale = math.sqrt(2)
|
2014-07-30 20:53:27 +02:00
|
|
|
})
|
|
|
|
else
|
|
|
|
minetest.override_item("default:jungleleaves", {
|
|
|
|
waving = 1
|
|
|
|
})
|
|
|
|
end
|
2013-11-15 00:05:37 +01:00
|
|
|
|
2013-02-12 04:07:40 +01:00
|
|
|
for i in ipairs(moretrees.treelist) do
|
|
|
|
local treename = moretrees.treelist[i][1]
|
|
|
|
local treedesc = moretrees.treelist[i][2]
|
|
|
|
local fruit = moretrees.treelist[i][3]
|
|
|
|
local fruitdesc = moretrees.treelist[i][4]
|
|
|
|
local selbox = moretrees.treelist[i][5]
|
|
|
|
local vscale = moretrees.treelist[i][6]
|
2015-08-15 22:59:11 +02:00
|
|
|
|
|
|
|
local saptex = moretrees.treelist[i][7]
|
2013-02-11 06:09:53 +01:00
|
|
|
|
2017-03-15 01:26:59 +01:00
|
|
|
-- player will get a sapling with 1/100 chance
|
|
|
|
-- player will get leaves only if he/she gets no saplings,
|
|
|
|
-- this is because max_items is 1
|
|
|
|
|
|
|
|
local droprarity = 100
|
|
|
|
local decay = moretrees.leafdecay_radius
|
|
|
|
|
|
|
|
if treename == "palm" then
|
|
|
|
droprarity = 20
|
|
|
|
decay = moretrees.palm_leafdecay_radius
|
|
|
|
elseif treename == "date_palm" then
|
|
|
|
decay = moretrees.palm_leafdecay_radius
|
|
|
|
end
|
|
|
|
|
2017-08-13 00:59:41 +02:00
|
|
|
if treename ~= "jungletree" -- the default game provides jungle tree and pine trunk/planks nodes.
|
2016-07-01 16:06:29 +02:00
|
|
|
and treename ~= "poplar_small"
|
2015-07-19 22:38:56 +02:00
|
|
|
and treename ~= "pine" then
|
2013-03-19 22:01:09 +01:00
|
|
|
|
2015-08-15 22:59:11 +02:00
|
|
|
saptex = "moretrees_"..treename.."_sapling.png"
|
|
|
|
|
2013-03-19 22:01:09 +01:00
|
|
|
minetest.register_node("moretrees:"..treename.."_trunk", {
|
2014-03-12 22:24:42 +01:00
|
|
|
description = S(treedesc.." Trunk"),
|
2013-03-19 22:01:09 +01:00
|
|
|
tiles = {
|
|
|
|
"moretrees_"..treename.."_trunk_top.png",
|
|
|
|
"moretrees_"..treename.."_trunk_top.png",
|
|
|
|
"moretrees_"..treename.."_trunk.png"
|
|
|
|
},
|
2013-04-24 14:43:27 +02:00
|
|
|
paramtype2 = "facedir",
|
2017-03-15 18:04:48 +01:00
|
|
|
is_ground_content = false,
|
2013-03-19 22:01:09 +01:00
|
|
|
groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
2014-01-30 22:09:23 +01:00
|
|
|
on_place = minetest.rotate_node,
|
2013-03-19 22:01:09 +01:00
|
|
|
})
|
2013-01-20 00:36:13 +01:00
|
|
|
|
2013-03-19 22:01:09 +01:00
|
|
|
minetest.register_node("moretrees:"..treename.."_planks", {
|
2014-03-12 22:24:42 +01:00
|
|
|
description = S(treedesc.." Planks"),
|
2013-03-19 22:01:09 +01:00
|
|
|
tiles = {"moretrees_"..treename.."_wood.png"},
|
2017-03-15 18:04:48 +01:00
|
|
|
is_ground_content = false,
|
2013-03-19 22:01:09 +01:00
|
|
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
2013-01-20 00:36:13 +01:00
|
|
|
|
2013-03-19 22:01:09 +01:00
|
|
|
minetest.register_node("moretrees:"..treename.."_sapling", {
|
2014-03-12 22:24:42 +01:00
|
|
|
description = S(treedesc.." Sapling"),
|
2013-04-24 14:43:27 +02:00
|
|
|
drawtype = "plantlike",
|
2015-08-14 17:50:34 +02:00
|
|
|
tiles = {saptex},
|
|
|
|
inventory_image = saptex,
|
2013-04-24 14:43:27 +02:00
|
|
|
paramtype = "light",
|
2013-11-22 02:33:02 +01:00
|
|
|
paramtype2 = "waving",
|
2013-04-24 14:43:27 +02:00
|
|
|
walkable = false,
|
2017-03-15 18:04:48 +01:00
|
|
|
is_ground_content = true,
|
2013-04-24 14:43:27 +02:00
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
|
|
|
|
},
|
2014-01-16 19:44:56 +01:00
|
|
|
groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,sapling=1},
|
2013-04-24 14:43:27 +02:00
|
|
|
sounds = default.node_sound_defaults(),
|
2013-03-19 22:01:09 +01:00
|
|
|
})
|
2013-10-02 19:43:50 +02:00
|
|
|
|
2013-12-15 19:30:17 +01:00
|
|
|
local moretrees_leaves_inventory_image = nil
|
|
|
|
local moretrees_new_leaves_waving = nil
|
2013-11-22 00:40:55 +01:00
|
|
|
|
2013-11-15 02:39:07 +01:00
|
|
|
if moretrees.plantlike_leaves then
|
2013-11-16 23:38:46 +01:00
|
|
|
moretrees_leaves_inventory_image = minetest.inventorycube("moretrees_"..treename.."_leaves.png")
|
2013-11-27 08:48:43 +01:00
|
|
|
else
|
|
|
|
moretrees_new_leaves_waving = 1
|
2013-11-15 02:39:07 +01:00
|
|
|
end
|
|
|
|
|
2013-03-19 22:01:09 +01:00
|
|
|
minetest.register_node("moretrees:"..treename.."_leaves", {
|
2014-03-12 22:24:42 +01:00
|
|
|
description = S(treedesc.." Leaves"),
|
2013-11-15 00:05:37 +01:00
|
|
|
drawtype = moretrees_new_leaves_drawtype,
|
2013-11-27 08:48:43 +01:00
|
|
|
waving = moretrees_new_leaves_waving,
|
2013-11-23 05:51:42 +01:00
|
|
|
visual_scale = moretrees_plantlike_leaves_visual_scale,
|
2014-12-19 03:35:00 +01:00
|
|
|
tiles = { "moretrees_"..treename.."_leaves.png" },
|
2013-11-16 23:38:46 +01:00
|
|
|
inventory_image = moretrees_leaves_inventory_image,
|
2013-03-19 22:01:09 +01:00
|
|
|
paramtype = "light",
|
2017-03-15 18:04:48 +01:00
|
|
|
is_ground_content = false,
|
2017-03-15 01:26:59 +01:00
|
|
|
groups = {snappy = 3, flammable = 2, leaves = 1, moretrees_leaves = 1, leafdecay = 1},
|
2013-03-19 22:01:09 +01:00
|
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
|
|
|
|
|
|
drop = {
|
|
|
|
max_items = 1,
|
|
|
|
items = {
|
2013-10-02 19:43:50 +02:00
|
|
|
{items = {"moretrees:"..treename.."_sapling"}, rarity = droprarity },
|
2013-03-19 22:01:09 +01:00
|
|
|
{items = {"moretrees:"..treename.."_leaves"} }
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
2013-04-08 04:22:01 +02:00
|
|
|
|
2015-07-19 22:00:30 +02:00
|
|
|
if moretrees.enable_stairs then
|
|
|
|
if minetest.get_modpath("moreblocks") then
|
|
|
|
|
|
|
|
-- stairsplus:register_all(modname, subname, recipeitem, {fields})
|
|
|
|
|
|
|
|
stairsplus:register_all(
|
|
|
|
"moretrees",
|
|
|
|
treename.."_trunk",
|
|
|
|
"moretrees:"..treename.."_trunk",
|
|
|
|
{
|
|
|
|
groups = { snappy=1, choppy=2, oddly_breakable_by_hand=1, flammable=2, not_in_creative_inventory=1 },
|
|
|
|
tiles = {
|
|
|
|
"moretrees_"..treename.."_trunk_top.png",
|
|
|
|
"moretrees_"..treename.."_trunk_top.png",
|
|
|
|
"moretrees_"..treename.."_trunk.png"
|
|
|
|
},
|
|
|
|
description = S(treedesc.." Trunk"),
|
|
|
|
drop = treename.."_trunk",
|
|
|
|
}
|
|
|
|
)
|
|
|
|
|
|
|
|
stairsplus:register_all(
|
|
|
|
"moretrees",
|
|
|
|
treename.."_planks",
|
|
|
|
"moretrees:"..treename.."_planks",
|
|
|
|
{
|
|
|
|
groups = { snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3, not_in_creative_inventory=1 },
|
|
|
|
tiles = { "moretrees_"..treename.."_wood.png" },
|
|
|
|
description = S(treedesc.." Planks"),
|
|
|
|
drop = treename.."_planks",
|
|
|
|
}
|
|
|
|
)
|
|
|
|
elseif minetest.get_modpath("stairs") then
|
|
|
|
stairs.register_stair_and_slab(
|
|
|
|
"moretrees_"..treename.."_trunk",
|
|
|
|
"moretrees:"..treename.."_trunk",
|
|
|
|
{ snappy=1, choppy=2, oddly_breakable_by_hand=1, flammable=2 },
|
|
|
|
{ "moretrees_"..treename.."_trunk_top.png",
|
2014-06-16 11:25:46 +02:00
|
|
|
"moretrees_"..treename.."_trunk_top.png",
|
|
|
|
"moretrees_"..treename.."_trunk.png"
|
|
|
|
},
|
2015-07-19 22:00:30 +02:00
|
|
|
S(treedesc.." Trunk Stair"),
|
|
|
|
S(treedesc.." Trunk Slab"),
|
|
|
|
default.node_sound_wood_defaults()
|
|
|
|
)
|
|
|
|
|
|
|
|
stairs.register_stair_and_slab(
|
|
|
|
"moretrees_"..treename.."_planks",
|
|
|
|
"moretrees:"..treename.."_planks",
|
|
|
|
{ snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3 },
|
|
|
|
{ "moretrees_"..treename.."_wood.png" },
|
|
|
|
S(treedesc.." Planks Stair"),
|
|
|
|
S(treedesc.." Planks Slab"),
|
|
|
|
default.node_sound_wood_defaults()
|
|
|
|
)
|
|
|
|
|
|
|
|
end
|
2013-07-22 09:55:12 +02:00
|
|
|
end
|
2013-03-19 22:01:09 +01:00
|
|
|
end
|
2013-01-20 00:36:13 +01:00
|
|
|
|
2015-08-14 17:50:34 +02:00
|
|
|
minetest.register_node("moretrees:"..treename.."_sapling_ongen", {
|
|
|
|
description = S(treedesc.." Sapling"),
|
|
|
|
drawtype = "plantlike",
|
2015-08-15 22:59:11 +02:00
|
|
|
tiles = {saptex},
|
|
|
|
inventory_image = saptex,
|
2015-08-14 17:50:34 +02:00
|
|
|
paramtype = "light",
|
|
|
|
paramtype2 = "waving",
|
|
|
|
walkable = false,
|
2017-03-15 18:04:48 +01:00
|
|
|
is_ground_content = true,
|
2015-08-14 17:50:34 +02:00
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
|
|
|
|
},
|
|
|
|
groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,not_in_creative_inventory=1,sapling=1},
|
|
|
|
sounds = default.node_sound_defaults(),
|
|
|
|
drop = "moretrees:"..treename.."_sapling"
|
|
|
|
})
|
|
|
|
|
2017-03-15 01:26:59 +01:00
|
|
|
local fruitname = nil
|
2013-12-15 19:30:17 +01:00
|
|
|
if fruit then
|
2017-03-15 01:26:59 +01:00
|
|
|
fruitname = "moretrees:"..fruit
|
|
|
|
minetest.register_node(fruitname, {
|
2014-03-12 22:24:42 +01:00
|
|
|
description = S(fruitdesc),
|
2013-01-20 00:36:13 +01:00
|
|
|
drawtype = "plantlike",
|
|
|
|
tiles = { "moretrees_"..fruit..".png" },
|
2013-01-25 05:22:46 +01:00
|
|
|
inventory_image = "moretrees_"..fruit..".png^[transformR180",
|
|
|
|
wield_image = "moretrees_"..fruit..".png^[transformR180",
|
|
|
|
visual_scale = vscale,
|
2013-01-20 00:36:13 +01:00
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
2017-03-15 18:04:48 +01:00
|
|
|
is_ground_content = false,
|
2013-01-20 00:36:13 +01:00
|
|
|
walkable = false,
|
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = selbox
|
|
|
|
},
|
2017-03-15 01:26:59 +01:00
|
|
|
groups = {fleshy=3,dig_immediate=3,flammable=2, attached_node=1, leafdecay = 1, leafdecay_drop = 1},
|
2013-01-20 00:36:13 +01:00
|
|
|
sounds = default.node_sound_defaults(),
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
2017-03-15 01:26:59 +01:00
|
|
|
if treename ~= "jungletree"
|
|
|
|
and treename ~= "poplar_small"
|
|
|
|
and treename ~= "pine" then
|
|
|
|
print("called default.register_leafdecay for:")
|
|
|
|
print("moretrees:"..treename.."_trunk")
|
|
|
|
print("moretrees:"..treename.."_leaves")
|
|
|
|
if fruitname then print(fruitname) end
|
|
|
|
print("radius = "..decay)
|
|
|
|
default.register_leafdecay({
|
|
|
|
trunks = { "moretrees:"..treename.."_trunk" },
|
|
|
|
leaves = { "moretrees:"..treename.."_leaves", fruitname },
|
|
|
|
radius = decay,
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
2013-04-24 14:43:27 +02:00
|
|
|
minetest.register_abm({
|
|
|
|
nodenames = { "moretrees:"..treename.."_trunk_sideways" },
|
|
|
|
interval = 1,
|
|
|
|
chance = 1,
|
|
|
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
|
|
|
local fdir = node.param2 or 0
|
|
|
|
nfdir = dirs2[fdir+1]
|
2013-07-01 05:55:07 +02:00
|
|
|
minetest.add_node(pos, {name = "moretrees:"..treename.."_trunk", param2 = nfdir})
|
2013-04-24 14:43:27 +02:00
|
|
|
end,
|
|
|
|
})
|
|
|
|
|
2013-01-25 05:22:46 +01:00
|
|
|
table.insert(moretrees.avoidnodes, "moretrees:"..treename.."_trunk")
|
2013-09-15 04:44:32 +02:00
|
|
|
|
|
|
|
if moretrees.spawn_saplings then
|
|
|
|
table.insert(moretrees.avoidnodes, "moretrees:"..treename.."_sapling")
|
|
|
|
table.insert(moretrees.avoidnodes, "moretrees:"..treename.."_sapling_ongen")
|
|
|
|
end
|
2013-01-25 05:22:46 +01:00
|
|
|
end
|
2013-01-22 02:31:28 +01:00
|
|
|
|
2016-07-01 16:06:29 +02:00
|
|
|
-- Add small poplar saplings
|
|
|
|
|
|
|
|
local poplar_sapling = minetest.registered_nodes["moretrees:poplar_sapling"]
|
|
|
|
local poplar_sapling_ongen = minetest.registered_nodes["moretrees:poplar_sapling_ongen"]
|
|
|
|
local poplar_small_sapling = {}
|
|
|
|
local poplar_small_sapling_ongen = {}
|
|
|
|
for k,v in pairs(poplar_sapling) do
|
|
|
|
poplar_small_sapling[k] = v
|
|
|
|
end
|
|
|
|
for k,v in pairs(poplar_sapling_ongen) do
|
|
|
|
poplar_small_sapling_ongen[k] = v
|
|
|
|
end
|
|
|
|
poplar_small_sapling.tiles = {"moretrees_poplar_small_sapling.png"}
|
|
|
|
poplar_small_sapling.inventory_image = "moretrees_poplar_small_sapling.png"
|
2017-03-15 18:04:48 +01:00
|
|
|
poplar_small_sapling.is_ground_content = true
|
2016-07-01 16:06:29 +02:00
|
|
|
poplar_small_sapling_ongen.tiles_ongen = {"moretrees_poplar_small_sapling.png"}
|
|
|
|
poplar_small_sapling_ongen.inventory_image_ongen = "moretrees_poplar_small_sapling.png"
|
|
|
|
poplar_small_sapling_ongen.drop = "moretrees:poplar_small_sapling"
|
2017-03-15 18:04:48 +01:00
|
|
|
poplar_small_sapling_ongen.is_ground_content = true
|
|
|
|
|
2016-07-01 16:06:29 +02:00
|
|
|
minetest.register_node("moretrees:poplar_small_sapling", poplar_small_sapling)
|
|
|
|
minetest.register_node("moretrees:poplar_small_sapling_ongen", poplar_small_sapling_ongen)
|
|
|
|
if moretrees.spawn_saplings then
|
|
|
|
table.insert(moretrees.avoidnodes, "moretrees:poplar_sapling")
|
|
|
|
table.insert(moretrees.avoidnodes, "moretrees:poplar_small_sapling_ongen")
|
|
|
|
end
|
|
|
|
|
|
|
|
local poplar_leaves_drop = minetest.registered_nodes["moretrees:poplar_leaves"].drop
|
|
|
|
minetest.override_item("moretrees:poplar_leaves", {
|
|
|
|
drop = {
|
|
|
|
max_items = poplar_leaves_drop.maxitems,
|
|
|
|
items = {
|
|
|
|
{items = {"moretrees:poplar_sapling"}, rarity = 1.33 * poplar_leaves_drop.items[1].rarity },
|
|
|
|
{items = {"moretrees:poplar_small_sapling"}, rarity = 1.33 * poplar_leaves_drop.items[1].rarity },
|
|
|
|
{items = {"moretrees:poplar_leaves"} }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2013-09-15 04:44:32 +02:00
|
|
|
-- Extra nodes for jungle trees:
|
|
|
|
|
2015-08-14 17:50:34 +02:00
|
|
|
local jungleleaves = {"yellow","red"}
|
|
|
|
local jungleleavesnames = {"Yellow", "Red"}
|
|
|
|
for color = 1, #jungleleaves do
|
2013-01-25 05:22:46 +01:00
|
|
|
local leave_name = "moretrees:jungletree_leaves_"..jungleleaves[color]
|
2013-11-16 23:38:46 +01:00
|
|
|
|
2013-12-15 19:30:17 +01:00
|
|
|
local moretrees_leaves_inventory_image = nil
|
|
|
|
|
2013-11-16 23:38:46 +01:00
|
|
|
if moretrees.plantlike_leaves then
|
|
|
|
moretrees_leaves_inventory_image = minetest.inventorycube("moretrees_jungletree_leaves_"..jungleleaves[color]..".png")
|
2013-12-25 10:20:51 +01:00
|
|
|
else
|
|
|
|
moretrees_new_leaves_waving = 1
|
2013-11-16 23:38:46 +01:00
|
|
|
end
|
|
|
|
|
2013-01-20 00:36:13 +01:00
|
|
|
minetest.register_node(leave_name, {
|
2014-03-12 22:24:42 +01:00
|
|
|
description = S("Jungle Tree Leaves ("..jungleleavesnames[color]..")"),
|
2013-11-15 00:05:37 +01:00
|
|
|
drawtype = moretrees_new_leaves_drawtype,
|
2013-11-27 08:48:43 +01:00
|
|
|
waving = moretrees_new_leaves_waving,
|
2013-11-23 05:51:42 +01:00
|
|
|
visual_scale = moretrees_plantlike_leaves_visual_scale,
|
2014-12-19 03:35:00 +01:00
|
|
|
tiles = {"moretrees_jungletree_leaves_"..jungleleaves[color]..".png"},
|
2013-11-16 23:38:46 +01:00
|
|
|
inventory_image = moretrees_leaves_inventory_image,
|
2013-01-20 00:36:13 +01:00
|
|
|
paramtype = "light",
|
2017-03-15 18:04:48 +01:00
|
|
|
is_ground_content = false,
|
2017-03-31 03:51:58 +02:00
|
|
|
groups = {snappy = 3, flammable = 2, leaves = 1, moretrees_leaves = 1, leafdecay = 3 },
|
2013-01-20 00:36:13 +01:00
|
|
|
drop = {
|
|
|
|
max_items = 1,
|
|
|
|
items = {
|
2015-08-14 17:50:34 +02:00
|
|
|
{items = {"default:junglesapling"}, rarity = 100 },
|
2013-01-25 05:22:46 +01:00
|
|
|
{items = {"moretrees:jungletree_leaves_"..jungleleaves[color]} }
|
2013-01-20 00:36:13 +01:00
|
|
|
}
|
|
|
|
},
|
|
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
2017-03-31 03:51:58 +02:00
|
|
|
-- To get Moretrees to generate its own jungle trees among the default mapgen
|
|
|
|
-- we need our own copy of that node, which moretrees will match against.
|
|
|
|
|
|
|
|
local jungle_tree = table.copy(minetest.registered_nodes["default:jungletree"])
|
|
|
|
minetest.register_node("moretrees:jungletree_trunk", jungle_tree)
|
|
|
|
|
|
|
|
default.register_leafdecay({
|
|
|
|
trunks = { "default:jungletree", "moretrees:jungletree_trunk" },
|
|
|
|
leaves = { "default:jungleleaves", "moretrees:jungletree_leaves_yellow", "moretrees:jungletree_leaves_red" },
|
|
|
|
radius = moretrees.leafdecay_radius,
|
|
|
|
})
|
|
|
|
|
2013-01-25 05:22:46 +01:00
|
|
|
-- Extra needles for firs
|
2013-01-20 00:36:13 +01:00
|
|
|
|
2013-12-15 19:30:17 +01:00
|
|
|
local moretrees_leaves_inventory_image = nil
|
|
|
|
|
2013-11-16 23:38:46 +01:00
|
|
|
if moretrees.plantlike_leaves then
|
|
|
|
moretrees_leaves_inventory_image = minetest.inventorycube("moretrees_fir_leaves_bright.png")
|
|
|
|
end
|
|
|
|
|
2013-01-22 02:50:41 +01:00
|
|
|
minetest.register_node("moretrees:fir_leaves_bright", {
|
2013-11-15 00:05:37 +01:00
|
|
|
drawtype = moretrees_new_leaves_drawtype,
|
2013-11-27 08:48:43 +01:00
|
|
|
waving = moretrees_new_leaves_waving,
|
2013-11-23 05:51:42 +01:00
|
|
|
visual_scale = moretrees_plantlike_leaves_visual_scale,
|
2014-03-12 22:24:42 +01:00
|
|
|
description = S("Douglas Fir Leaves (Bright)"),
|
2014-12-19 03:35:00 +01:00
|
|
|
tiles = { "moretrees_fir_leaves_bright.png" },
|
2013-11-16 23:38:46 +01:00
|
|
|
inventory_image = moretrees_leaves_inventory_image,
|
2013-01-20 00:36:13 +01:00
|
|
|
paramtype = "light",
|
2017-03-15 18:04:48 +01:00
|
|
|
is_ground_content = false,
|
2017-03-31 03:51:58 +02:00
|
|
|
groups = {snappy = 3, flammable = 2, leaves = 1, moretrees_leaves = 1, leafdecay = 3 },
|
2013-01-20 00:36:13 +01:00
|
|
|
drop = {
|
|
|
|
max_items = 1,
|
|
|
|
items = {
|
2013-01-31 03:51:18 +01:00
|
|
|
{items = {'moretrees:fir_sapling'}, rarity = 100 },
|
2014-07-13 09:18:22 +02:00
|
|
|
{items = {'moretrees:fir_leaves_bright'} }
|
2013-01-20 00:36:13 +01:00
|
|
|
}
|
|
|
|
},
|
|
|
|
sounds = default.node_sound_leaves_defaults()
|
|
|
|
})
|
|
|
|
|
2017-03-31 03:51:58 +02:00
|
|
|
default.register_leafdecay({
|
|
|
|
trunks = { "moretrees:fir_trunk" },
|
|
|
|
leaves = { "moretrees:fir_leaves", "moretrees:fir_leaves_bright" },
|
|
|
|
radius = moretrees.leafdecay_radius,
|
|
|
|
})
|
|
|
|
|
|
|
|
|
2013-02-11 18:23:05 +01:00
|
|
|
if moretrees.enable_redefine_apple then
|
2015-07-30 15:42:47 +02:00
|
|
|
local appledef = moretrees.clone_node("default:apple")
|
|
|
|
appledef.groups.attached_node = 1
|
|
|
|
minetest.register_node(":default:apple", appledef)
|
2013-02-11 18:23:05 +01:00
|
|
|
end
|
|
|
|
|
2013-02-12 04:07:40 +01:00
|
|
|
table.insert(moretrees.avoidnodes, "default:jungletree")
|
2015-08-14 17:50:34 +02:00
|
|
|
table.insert(moretrees.avoidnodes, "default:pine_tree")
|
|
|
|
table.insert(moretrees.avoidnodes, "default:acacia_tree")
|
2013-02-12 04:07:40 +01:00
|
|
|
table.insert(moretrees.avoidnodes, "moretrees:fir_trunk")
|
2013-04-09 04:54:22 +02:00
|
|
|
table.insert(moretrees.avoidnodes, "default:tree")
|
2013-01-22 02:31:28 +01:00
|
|
|
|
2013-09-15 04:44:32 +02:00
|
|
|
if moretrees.spawn_saplings then
|
|
|
|
table.insert(moretrees.avoidnodes, "snow:sapling_pine")
|
|
|
|
table.insert(moretrees.avoidnodes, "default:junglesapling")
|
2015-08-14 17:50:34 +02:00
|
|
|
table.insert(moretrees.avoidnodes, "default:pine_sapling")
|
2013-09-15 04:44:32 +02:00
|
|
|
end
|
|
|
|
|
2013-04-13 19:58:35 +02:00
|
|
|
-- "empty" (tapped) rubber tree nodes
|
|
|
|
|
|
|
|
minetest.register_node("moretrees:rubber_tree_trunk_empty", {
|
2014-03-12 22:24:42 +01:00
|
|
|
description = S("Rubber Tree Trunk (Empty)"),
|
2013-04-13 19:58:35 +02:00
|
|
|
tiles = {
|
|
|
|
"moretrees_rubber_tree_trunk_top.png",
|
|
|
|
"moretrees_rubber_tree_trunk_top.png",
|
|
|
|
"moretrees_rubber_tree_trunk_empty.png"
|
|
|
|
},
|
|
|
|
is_ground_content = true,
|
|
|
|
groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
paramtype2 = "facedir",
|
2017-03-15 18:04:48 +01:00
|
|
|
is_ground_content = false,
|
2014-01-30 22:09:23 +01:00
|
|
|
on_place = minetest.rotate_node,
|
2013-04-13 19:58:35 +02:00
|
|
|
})
|
|
|
|
|
2013-04-27 02:12:22 +02:00
|
|
|
minetest.register_abm({
|
|
|
|
nodenames = { "moretrees:rubber_tree_trunk_empty_sideways" },
|
|
|
|
interval = 1,
|
|
|
|
chance = 1,
|
|
|
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
|
|
|
local fdir = node.param2 or 0
|
|
|
|
nfdir = dirs2[fdir+1]
|
2013-07-01 05:55:07 +02:00
|
|
|
minetest.add_node(pos, {name = "moretrees:rubber_tree_trunk_empty", param2 = nfdir})
|
2013-04-27 02:12:22 +02:00
|
|
|
end,
|
|
|
|
})
|
2013-04-13 19:58:35 +02:00
|
|
|
|
2015-08-14 17:50:34 +02:00
|
|
|
-- For compatibility with old nodes, recently-changed nodes, and default nodes
|
|
|
|
|
|
|
|
minetest.register_alias("technic:rubber_tree_full", "moretrees:rubber_tree_trunk")
|
|
|
|
minetest.register_alias("farming_plus:rubber_tree_full", "moretrees:rubber_tree_trunk")
|
|
|
|
minetest.register_alias("farming:rubber_tree_full", "moretrees:rubber_tree_trunk")
|
|
|
|
|
|
|
|
minetest.register_alias("technic:rubber_leaves", "moretrees:rubber_tree_leaves")
|
|
|
|
minetest.register_alias("farming_plus:rubber_leaves", "moretrees:rubber_tree_leaves")
|
|
|
|
minetest.register_alias("farming:rubber_leaves", "moretrees:rubber_tree_leaves")
|
|
|
|
|
|
|
|
minetest.register_alias("technic:rubber_tree_sapling", "moretrees:rubber_tree_sapling")
|
|
|
|
minetest.register_alias("farming_plus:rubber_sapling", "moretrees:rubber_tree_sapling")
|
|
|
|
minetest.register_alias("farming:rubber_sapling", "moretrees:rubber_tree_sapling")
|
|
|
|
|
|
|
|
minetest.register_alias("moretrees:conifer_trunk", "moretrees:fir_trunk")
|
|
|
|
minetest.register_alias("moretrees:conifer_trunk_sideways", "moretrees:fir_trunk_sideways")
|
|
|
|
minetest.register_alias("moretrees:conifer_leaves", "moretrees:fir_leaves")
|
|
|
|
minetest.register_alias("moretrees:conifer_leaves_bright", "moretrees:fir_leaves_bright")
|
|
|
|
minetest.register_alias("moretrees:conifer_sapling", "moretrees:fir_sapling")
|
|
|
|
|
|
|
|
minetest.register_alias("conifers:trunk", "moretrees:fir_trunk")
|
|
|
|
minetest.register_alias("conifers:trunk_reversed", "moretrees:fir_trunk_sideways")
|
|
|
|
minetest.register_alias("conifers:leaves", "moretrees:fir_leaves")
|
|
|
|
minetest.register_alias("conifers:leaves_special", "moretrees:fir_leaves_bright")
|
|
|
|
minetest.register_alias("conifers:sapling", "moretrees:fir_sapling")
|
|
|
|
|
|
|
|
minetest.register_alias("moretrees:jungletree_sapling", "default:junglesapling")
|
|
|
|
minetest.register_alias("moretrees:jungletree_trunk_sideways", "moreblocks:horizontal_jungle_tree")
|
|
|
|
minetest.register_alias("moretrees:jungletree_planks", "default:junglewood")
|
2015-08-18 00:20:19 +02:00
|
|
|
minetest.register_alias("moretrees:jungletree_leaves_green", "default:jungleleaves")
|
2015-08-14 17:50:34 +02:00
|
|
|
|
|
|
|
minetest.register_alias("jungletree:leaves_green", "default:jungleleaves")
|
|
|
|
minetest.register_alias("jungletree:leaves_red", "moretrees:jungletree_leaves_red")
|
|
|
|
minetest.register_alias("jungletree:leaves_yellow", "moretrees:jungletree_leaves_yellow")
|
|
|
|
|
|
|
|
minetest.register_alias("moretrees:acacia_trunk", "default:acacia_tree")
|
|
|
|
minetest.register_alias("moretrees:acacia_planks", "default:acacia_wood")
|
|
|
|
minetest.register_alias("moretrees:acacia_sapling", "default:acacia_sapling")
|
|
|
|
minetest.register_alias("moretrees:acacia_leaves", "default:acacia_leaves")
|
|
|
|
|
2016-05-18 16:54:45 +02:00
|
|
|
minetest.register_alias("moretrees:pine_trunk", "moretrees:cedar_trunk")
|
|
|
|
minetest.register_alias("moretrees:pine_planks", "moretrees:cedar_planks")
|
|
|
|
minetest.register_alias("moretrees:pine_sapling", "moretrees:cedar_sapling")
|
|
|
|
minetest.register_alias("moretrees:pine_leaves", "moretrees:cedar_leaves")
|
|
|
|
minetest.register_alias("moretrees:pine_cone", "moretrees:cedar_cone")
|
|
|
|
minetest.register_alias("moretrees:pine_nuts", "moretrees:cedar_nuts")
|
2016-08-21 21:56:02 +02:00
|
|
|
minetest.register_alias("moretrees:pine_sapling_ongen", "moretrees:cedar_sapling_ongen")
|
2016-05-18 22:54:19 +02:00
|
|
|
|
|
|
|
minetest.register_alias("moretrees:dates", "moretrees:dates_f4")
|