mirror of
https://github.com/luanti-org/minetest_game.git
synced 2025-06-06 13:54:25 -04:00
Default: Add jungletree_branch node, use in tree generation
Fix rotation errors for mapgen aspen and sapling jungletree
This commit is contained in:
parent
f80fafbcfb
commit
87b43a26f2
5 changed files with 26 additions and 7 deletions
|
@ -1204,7 +1204,6 @@ function default.register_decorations()
|
||||||
y_max = 31000,
|
y_max = 31000,
|
||||||
schematic = minetest.get_modpath("default").."/schematics/aspen_tree.mts",
|
schematic = minetest.get_modpath("default").."/schematics/aspen_tree.mts",
|
||||||
flags = "place_center_x, place_center_z",
|
flags = "place_center_x, place_center_z",
|
||||||
rotation = "random",
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_decoration({
|
minetest.register_decoration({
|
||||||
|
|
|
@ -14,7 +14,7 @@ language (for example pinewood and pine wood) the underscore form should be used
|
||||||
|
|
||||||
Stone
|
Stone
|
||||||
-----
|
-----
|
||||||
(1. Material 2. Cobble variant 3. Brick variant [4. Modified forms])
|
(1. Material 2. Cobble variant 3. Brick variant 4. Modified forms)
|
||||||
|
|
||||||
default:stone
|
default:stone
|
||||||
default:cobble
|
default:cobble
|
||||||
|
@ -33,7 +33,7 @@ default:obsidianbrick
|
||||||
|
|
||||||
Soft / Non-Stone
|
Soft / Non-Stone
|
||||||
----------------
|
----------------
|
||||||
(1. Material [2. Modified forms])
|
(1. Material 2. Modified forms)
|
||||||
|
|
||||||
default:dirt
|
default:dirt
|
||||||
default:dirt_with_grass
|
default:dirt_with_grass
|
||||||
|
@ -55,7 +55,7 @@ default:ice
|
||||||
|
|
||||||
Trees
|
Trees
|
||||||
-----
|
-----
|
||||||
(1. Trunk 2. Fabricated trunk 3. Leaves 4. Sapling [5. Fruits])
|
(1. Trunk 2. Branch 3. Fabricated trunk 4. Leaves 5. Sapling 6. Fruits)
|
||||||
|
|
||||||
default:tree
|
default:tree
|
||||||
default:wood
|
default:wood
|
||||||
|
@ -64,6 +64,7 @@ default:sapling
|
||||||
default:apple
|
default:apple
|
||||||
|
|
||||||
default:jungletree
|
default:jungletree
|
||||||
|
default:jungletree_branch
|
||||||
default:junglewood
|
default:junglewood
|
||||||
default:jungleleaves
|
default:jungleleaves
|
||||||
default:junglesapling
|
default:junglesapling
|
||||||
|
@ -82,6 +83,7 @@ default:aspen_tree
|
||||||
default:aspen_wood
|
default:aspen_wood
|
||||||
default:aspen_leaves
|
default:aspen_leaves
|
||||||
default:aspen_sapling
|
default:aspen_sapling
|
||||||
|
|
||||||
Ores
|
Ores
|
||||||
----
|
----
|
||||||
(1. In stone 2. Block)
|
(1. In stone 2. Block)
|
||||||
|
@ -107,6 +109,7 @@ default:diamondblock
|
||||||
|
|
||||||
Plantlife (non-cubic)
|
Plantlife (non-cubic)
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
default:cactus
|
default:cactus
|
||||||
default:papyrus
|
default:papyrus
|
||||||
default:dry_shrub
|
default:dry_shrub
|
||||||
|
@ -139,6 +142,7 @@ default:lava_flowing
|
||||||
|
|
||||||
Tools / "Advanced" crafting / Non-"natural"
|
Tools / "Advanced" crafting / Non-"natural"
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
default:torch
|
default:torch
|
||||||
|
|
||||||
default:chest
|
default:chest
|
||||||
|
@ -168,6 +172,7 @@ default:meselamp
|
||||||
|
|
||||||
Misc
|
Misc
|
||||||
----
|
----
|
||||||
|
|
||||||
default:cloud
|
default:cloud
|
||||||
default:nyancat
|
default:nyancat
|
||||||
default:nyancat_rainbow
|
default:nyancat_rainbow
|
||||||
|
@ -524,6 +529,16 @@ minetest.register_node("default:jungletree", {
|
||||||
on_place = minetest.rotate_node
|
on_place = minetest.rotate_node
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("default:jungletree_branch", {
|
||||||
|
description = "Jungle Tree Branch",
|
||||||
|
tiles = {"default_jungletree.png"},
|
||||||
|
paramtype2 = "facedir",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||||
|
drop = "default:jungletree",
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node("default:junglewood", {
|
minetest.register_node("default:junglewood", {
|
||||||
description = "Junglewood Planks",
|
description = "Junglewood Planks",
|
||||||
tiles = {"default_junglewood.png"},
|
tiles = {"default_junglewood.png"},
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -225,6 +225,7 @@ function default.grow_jungle_tree(pos, bad)
|
||||||
local c_air = minetest.get_content_id("air")
|
local c_air = minetest.get_content_id("air")
|
||||||
local c_ignore = minetest.get_content_id("ignore")
|
local c_ignore = minetest.get_content_id("ignore")
|
||||||
local c_jungletree = minetest.get_content_id("default:jungletree")
|
local c_jungletree = minetest.get_content_id("default:jungletree")
|
||||||
|
local c_jungletree_branch = minetest.get_content_id("default:jungletree_branch")
|
||||||
local c_jungleleaves = minetest.get_content_id("default:jungleleaves")
|
local c_jungleleaves = minetest.get_content_id("default:jungleleaves")
|
||||||
|
|
||||||
local vm = minetest.get_voxel_manip()
|
local vm = minetest.get_voxel_manip()
|
||||||
|
@ -234,6 +235,7 @@ function default.grow_jungle_tree(pos, bad)
|
||||||
)
|
)
|
||||||
local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp})
|
local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp})
|
||||||
local data = vm:get_data()
|
local data = vm:get_data()
|
||||||
|
local p2data = vm:get_param2_data()
|
||||||
|
|
||||||
add_trunk_and_leaves(data, a, pos, c_jungletree, c_jungleleaves,
|
add_trunk_and_leaves(data, a, pos, c_jungletree, c_jungleleaves,
|
||||||
height, 3, 30, false)
|
height, 3, 30, false)
|
||||||
|
@ -245,9 +247,11 @@ function default.grow_jungle_tree(pos, bad)
|
||||||
for x_dist = -1, 1 do
|
for x_dist = -1, 1 do
|
||||||
if random(1, 3) >= 2 then
|
if random(1, 3) >= 2 then
|
||||||
if data[vi_1] == c_air or data[vi_1] == c_ignore then
|
if data[vi_1] == c_air or data[vi_1] == c_ignore then
|
||||||
data[vi_1] = c_jungletree
|
data[vi_1] = c_jungletree_branch
|
||||||
|
p2data[vi_1] = random(0, 1)
|
||||||
elseif data[vi_2] == c_air or data[vi_2] == c_ignore then
|
elseif data[vi_2] == c_air or data[vi_2] == c_ignore then
|
||||||
data[vi_2] = c_jungletree
|
data[vi_2] = c_jungletree_branch
|
||||||
|
p2data[vi_2] = random(0, 1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
vi_1 = vi_1 + 1
|
vi_1 = vi_1 + 1
|
||||||
|
@ -256,6 +260,7 @@ function default.grow_jungle_tree(pos, bad)
|
||||||
end
|
end
|
||||||
|
|
||||||
vm:set_data(data)
|
vm:set_data(data)
|
||||||
|
vm:set_param2_data(p2data)
|
||||||
vm:write_to_map()
|
vm:write_to_map()
|
||||||
vm:update_map()
|
vm:update_map()
|
||||||
end
|
end
|
||||||
|
@ -403,7 +408,7 @@ function default.grow_new_jungle_tree(pos)
|
||||||
local path = minetest.get_modpath("default") ..
|
local path = minetest.get_modpath("default") ..
|
||||||
"/schematics/jungle_tree_from_sapling.mts"
|
"/schematics/jungle_tree_from_sapling.mts"
|
||||||
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
|
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
|
||||||
path, "0", nil, false)
|
path, "random", nil, false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue