Rainforest: Add emergent jungle tree and sapling
Height 20 to 32 nodes. Dependent on chunksize >= 5. Base limited to maximum altitude y = 32. Craft sapling from 9 jungle saplings.
This commit is contained in:
parent
495fa32873
commit
b90aabec80
|
@ -115,6 +115,7 @@ paramat (CC BY-SA 3.0):
|
||||||
default_silver_sandstone_block.png -- Derived from a texture by GreenXenith (CC-BY-SA 3.0)
|
default_silver_sandstone_block.png -- Derived from a texture by GreenXenith (CC-BY-SA 3.0)
|
||||||
default_bookshelf_slot.png -- Derived from a texture by Gambit (CC-BY-SA 3.0)
|
default_bookshelf_slot.png -- Derived from a texture by Gambit (CC-BY-SA 3.0)
|
||||||
default_marram_grass_*.png -- Derived from textures by TumeniNodes (CC-BY-SA 3.0)
|
default_marram_grass_*.png -- Derived from textures by TumeniNodes (CC-BY-SA 3.0)
|
||||||
|
default_emergent_jungle_sapling.png
|
||||||
|
|
||||||
TumeniNodes (CC BY-SA 3.0):
|
TumeniNodes (CC BY-SA 3.0):
|
||||||
default_desert_cobble.png -- Derived from a texture by brunob.santos (CC BY-SA 3.0)
|
default_desert_cobble.png -- Derived from a texture by brunob.santos (CC BY-SA 3.0)
|
||||||
|
|
|
@ -763,14 +763,26 @@ minetest.register_craft({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "default:emergent_jungle_sapling",
|
||||||
|
recipe = {
|
||||||
|
{"default:junglesapling", "default:junglesapling", "default:junglesapling"},
|
||||||
|
{"default:junglesapling", "default:junglesapling", "default:junglesapling"},
|
||||||
|
{"default:junglesapling", "default:junglesapling", "default:junglesapling"},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Crafting (tool repair)
|
-- Crafting (tool repair)
|
||||||
--
|
--
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "toolrepair",
|
type = "toolrepair",
|
||||||
additional_wear = -0.02,
|
additional_wear = -0.02,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Cooking recipes
|
-- Cooking recipes
|
||||||
--
|
--
|
||||||
|
@ -849,6 +861,7 @@ minetest.register_craft({
|
||||||
cooktime = 5,
|
cooktime = 5,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Fuels
|
-- Fuels
|
||||||
--
|
--
|
||||||
|
@ -964,6 +977,12 @@ minetest.register_craft({
|
||||||
burntime = 6,
|
burntime = 6,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "fuel",
|
||||||
|
recipe = "default:emergent_jungle_sapling",
|
||||||
|
burntime = 7,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
|
|
|
@ -1705,6 +1705,34 @@ function default.register_decorations()
|
||||||
rotation = "random",
|
rotation = "random",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- Emergent jungle tree
|
||||||
|
-- Due to 32 node height, altitude is limited and prescence depends on chunksize
|
||||||
|
|
||||||
|
local chunksize = tonumber(minetest.get_mapgen_setting("chunksize"))
|
||||||
|
if chunksize >= 5 then
|
||||||
|
minetest.register_decoration({
|
||||||
|
deco_type = "schematic",
|
||||||
|
place_on = {"default:dirt_with_rainforest_litter"},
|
||||||
|
sidelen = 80,
|
||||||
|
noise_params = {
|
||||||
|
offset = 0.0,
|
||||||
|
scale = 0.0025,
|
||||||
|
spread = {x = 250, y = 250, z = 250},
|
||||||
|
seed = 2685,
|
||||||
|
octaves = 3,
|
||||||
|
persist = 0.7
|
||||||
|
},
|
||||||
|
biomes = {"rainforest"},
|
||||||
|
y_min = 1,
|
||||||
|
y_max = 32,
|
||||||
|
schematic = minetest.get_modpath("default") ..
|
||||||
|
"/schematics/emergent_jungle_tree.mts",
|
||||||
|
flags = "place_center_x, place_center_z",
|
||||||
|
rotation = "random",
|
||||||
|
place_offset_y = -4,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
-- Jungle tree and log
|
-- Jungle tree and log
|
||||||
|
|
||||||
minetest.register_decoration({
|
minetest.register_decoration({
|
||||||
|
|
|
@ -80,6 +80,7 @@ default:jungletree
|
||||||
default:junglewood
|
default:junglewood
|
||||||
default:jungleleaves
|
default:jungleleaves
|
||||||
default:junglesapling
|
default:junglesapling
|
||||||
|
default:emergent_jungle_sapling
|
||||||
|
|
||||||
default:pine_tree
|
default:pine_tree
|
||||||
default:pine_wood
|
default:pine_wood
|
||||||
|
@ -775,6 +776,41 @@ minetest.register_node("default:junglesapling", {
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("default:emergent_jungle_sapling", {
|
||||||
|
description = "Emergent Jungle Tree Sapling",
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"default_emergent_jungle_sapling.png"},
|
||||||
|
inventory_image = "default_emergent_jungle_sapling.png",
|
||||||
|
wield_image = "default_emergent_jungle_sapling.png",
|
||||||
|
paramtype = "light",
|
||||||
|
sunlight_propagates = true,
|
||||||
|
walkable = false,
|
||||||
|
on_timer = default.grow_sapling,
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
|
||||||
|
},
|
||||||
|
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
|
||||||
|
attached_node = 1, sapling = 1},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
|
||||||
|
on_construct = function(pos)
|
||||||
|
minetest.get_node_timer(pos):start(math.random(300, 1500))
|
||||||
|
end,
|
||||||
|
|
||||||
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
|
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
|
||||||
|
"default:emergent_jungle_sapling",
|
||||||
|
-- minp, maxp to be checked, relative to sapling pos
|
||||||
|
{x = -3, y = -5, z = -3},
|
||||||
|
{x = 3, y = 31, z = 3},
|
||||||
|
-- maximum interval of interior volume check
|
||||||
|
4)
|
||||||
|
|
||||||
|
return itemstack
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
minetest.register_node("default:pine_tree", {
|
minetest.register_node("default:pine_tree", {
|
||||||
description = "Pine Tree",
|
description = "Pine Tree",
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 190 B |
|
@ -85,6 +85,10 @@ function default.grow_sapling(pos)
|
||||||
minetest.log("action", "An acacia bush sapling grows into a bush at "..
|
minetest.log("action", "An acacia bush sapling grows into a bush at "..
|
||||||
minetest.pos_to_string(pos))
|
minetest.pos_to_string(pos))
|
||||||
default.grow_acacia_bush(pos)
|
default.grow_acacia_bush(pos)
|
||||||
|
elseif node.name == "default:emergent_jungle_sapling" then
|
||||||
|
minetest.log("action", "An emergent jungle sapling grows into a tree at "..
|
||||||
|
minetest.pos_to_string(pos))
|
||||||
|
default.grow_new_emergent_jungle_tree(pos)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -394,6 +398,16 @@ function default.grow_new_jungle_tree(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- New emergent jungle tree
|
||||||
|
|
||||||
|
function default.grow_new_emergent_jungle_tree(pos)
|
||||||
|
local path = minetest.get_modpath("default") ..
|
||||||
|
"/schematics/emergent_jungle_tree_from_sapling.mts"
|
||||||
|
minetest.place_schematic({x = pos.x - 3, y = pos.y - 5, z = pos.z - 3},
|
||||||
|
path, "random", nil, false)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
-- New pine tree
|
-- New pine tree
|
||||||
|
|
||||||
function default.grow_new_pine_tree(pos)
|
function default.grow_new_pine_tree(pos)
|
||||||
|
|
Loading…
Reference in New Issue