New Roots
Sheets instead of complex nodes. Support for More Trees! and Tiny Trees. Now generate.
This commit is contained in:
parent
55d960cf4c
commit
51f05ac72a
@ -496,3 +496,66 @@ plantslib:register_generate_plant({
|
|||||||
"abstract_trunks.grow_moss_on_trunk"
|
"abstract_trunks.grow_moss_on_trunk"
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------------------------------
|
||||||
|
-- RooTS
|
||||||
|
-----------------------------------------------------------------------------------------------
|
||||||
|
if Roots == true then -- see settings.txt
|
||||||
|
|
||||||
|
abstract_trunks.grow_roots = function(pos)
|
||||||
|
local twig_size = math.random(1,27)
|
||||||
|
|
||||||
|
local right_here = {x=pos.x , y=pos.y , z=pos.z }
|
||||||
|
local below = {x=pos.x , y=pos.y-1, z=pos.z }
|
||||||
|
local north = {x=pos.x , y=pos.y , z=pos.z+1}
|
||||||
|
local east = {x=pos.x+1, y=pos.y , z=pos.z }
|
||||||
|
local south = {x=pos.x , y=pos.y , z=pos.z-1}
|
||||||
|
local west = {x=pos.x-1, y=pos.y , z=pos.z }
|
||||||
|
|
||||||
|
local node_here = minetest.get_node(right_here)
|
||||||
|
local node_below = minetest.get_node(below)
|
||||||
|
local node_north = minetest.get_node(north)
|
||||||
|
local node_east = minetest.get_node(east)
|
||||||
|
local node_south = minetest.get_node(south)
|
||||||
|
local node_west = minetest.get_node(west)
|
||||||
|
|
||||||
|
for i in pairs(TRuNKS) do
|
||||||
|
local MoD = TRuNKS[i][1]
|
||||||
|
local TRuNK = TRuNKS[i][2]
|
||||||
|
if minetest.get_modpath(MoD) ~= nil
|
||||||
|
and node_here.name == MoD..":"..TRuNK
|
||||||
|
and string.find(node_below.name, "dirt")
|
||||||
|
and node_here.param2 == 0 then
|
||||||
|
if minetest.registered_nodes[node_north.name].buildable_to then
|
||||||
|
minetest.add_node(north, {name="trunks:"..TRuNK.."root", param2=2})
|
||||||
|
end
|
||||||
|
if minetest.registered_nodes[node_east.name].buildable_to then
|
||||||
|
minetest.add_node(east, {name="trunks:"..TRuNK.."root", param2=3})
|
||||||
|
end
|
||||||
|
if minetest.registered_nodes[node_south.name].buildable_to then
|
||||||
|
minetest.add_node(south, {name="trunks:"..TRuNK.."root", param2=0})
|
||||||
|
end
|
||||||
|
if minetest.registered_nodes[node_west.name].buildable_to then
|
||||||
|
minetest.add_node(west, {name="trunks:"..TRuNK.."root", param2=1})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
plantslib:register_generate_plant({
|
||||||
|
surface = {"group:tree"},
|
||||||
|
max_count = 1000,
|
||||||
|
rarity = 1,
|
||||||
|
min_elevation = 1,
|
||||||
|
max_elevation = 40,
|
||||||
|
near_nodes = {"default:dirt_with_grass"},
|
||||||
|
near_nodes_size = 1,
|
||||||
|
near_nodes_vertical = 1,
|
||||||
|
near_nodes_count = 1,
|
||||||
|
plantlife_limit = -1,
|
||||||
|
check_air = false,
|
||||||
|
},
|
||||||
|
"abstract_trunks.grow_roots"
|
||||||
|
)
|
||||||
|
|
||||||
|
end
|
@ -1,6 +1,6 @@
|
|||||||
-----------------------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------------------
|
||||||
local title = "Trunks"
|
local title = "Trunks"
|
||||||
local version = "0.1.3"
|
local version = "0.1.4"
|
||||||
local mname = "trunks"
|
local mname = "trunks"
|
||||||
-----------------------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------------------
|
||||||
-- Code by Mossmanikin & Neuromancer
|
-- Code by Mossmanikin & Neuromancer
|
||||||
|
@ -293,24 +293,9 @@ end
|
|||||||
-----------------------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------------------
|
||||||
if Roots == true then -- see settings.txt
|
if Roots == true then -- see settings.txt
|
||||||
|
|
||||||
local roots_cube = {-4/16, -1/2, 3/16, 4/16, -3/16, 1/2}
|
local roots_cube = {-2/16, -1/2, -3/16, 2/16, 1/16, 1/2}
|
||||||
|
|
||||||
local trunk_roots = {
|
local roots_sheet = {0, -1/2, -1/2, 0, 1/16, 1/2}
|
||||||
-- { left , bottom , front , right , top , back }
|
|
||||||
{-1/16 , -8/16 , 3/16 , 1/16 , -7/16 , 8/16 },
|
|
||||||
{-2/16 , -8/16 , 5/16 , 2/16 , -7/16 , 8/16 },
|
|
||||||
{-3/16 , -8/16 , 6/16 , 3/16 , -7/16 , 8/16 },
|
|
||||||
{-4/16 , -8/16 , 7/16 , 4/16 , -7/16 , 9/16 },
|
|
||||||
|
|
||||||
{-1/16 , -7/16 , 5/16 , 1/16 , -6/16 , 8/16 },
|
|
||||||
{-2/16 , -7/16 , 6/16 , 2/16 , -6/16 , 8/16 },
|
|
||||||
{-3/16 , -7/16 , 7/16 , 3/16 , -6/16 , 8/16 },
|
|
||||||
|
|
||||||
{-1/16 , -6/16 , 6/16 , 1/16 , -5/16 , 8/16 },
|
|
||||||
{-2/16 , -6/16 , 7/16 , 2/16 , -5/16 , 8/16 },
|
|
||||||
|
|
||||||
{-1/16 , -5/16 , 7/16 , 1/16 , -3/16 , 8/16 },
|
|
||||||
}
|
|
||||||
|
|
||||||
local TRuNKS = {
|
local TRuNKS = {
|
||||||
-- MoD TRuNK
|
-- MoD TRuNK
|
||||||
@ -346,17 +331,26 @@ for i in pairs(TRuNKS) do
|
|||||||
description = des.." Root",
|
description = des.." Root",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
tiles = {MoD.."_"..TRuNK..".png"},
|
tiles = {
|
||||||
|
--[[top]] MoD.."_"..TRuNK..".png",
|
||||||
|
--[[bottom]] MoD.."_"..TRuNK..".png",
|
||||||
|
--[[right]] MoD.."_"..TRuNK..".png^trunks_root_mask.png^[makealpha:0,0,0",
|
||||||
|
--[[left]] MoD.."_"..TRuNK..".png^trunks_root_mask.png^[transformFX^[makealpha:0,0,0",
|
||||||
|
--[[back]] MoD.."_"..TRuNK..".png",
|
||||||
|
--[[front]] MoD.."_"..TRuNK..".png"
|
||||||
|
},
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
selection_box = {type = "fixed", fixed = roots_cube},
|
selection_box = {type = "fixed", fixed = roots_cube},
|
||||||
node_box = {type = "fixed", fixed = trunk_roots},
|
node_box = {type = "fixed", fixed = roots_sheet},
|
||||||
groups = {
|
groups = {
|
||||||
tree=1,
|
tree=1,
|
||||||
snappy=1,
|
snappy=1,
|
||||||
choppy=2,
|
choppy=2,
|
||||||
oddly_breakable_by_hand=1,
|
oddly_breakable_by_hand=1,
|
||||||
flammable=2
|
flammable=2--,
|
||||||
|
--not_in_creative_inventory=1 -- atm in inv for testing
|
||||||
},
|
},
|
||||||
|
--drop = "trunks:twig_1", -- not sure about this yet
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user