diff --git a/trunks/generating.lua b/trunks/generating.lua index c02f57c..ae220e0 100644 --- a/trunks/generating.lua +++ b/trunks/generating.lua @@ -2,8 +2,149 @@ -- TWiGS ----------------------------------------------------------------------------------------------- abstract_trunks.place_twig = function(pos) - local right_here = {x=pos.x, y=pos.y+1, z=pos.z} - minetest.add_node(right_here, {name="trunks:twig_"..math.random(1,3), param2=math.random(0,3)}) + local twig_size = math.random(1,24) + + local right_here = {x=pos.x , y=pos.y+1, z=pos.z } + local north = {x=pos.x , y=pos.y+1, z=pos.z+1} + local north_east = {x=pos.x+1, y=pos.y+1, z=pos.z+1} + local east = {x=pos.x+1, y=pos.y+1, z=pos.z } + local south_east = {x=pos.x+1, y=pos.y+1, z=pos.z-1} + local south = {x=pos.x , y=pos.y+1, z=pos.z-1} + local south_west = {x=pos.x-1, y=pos.y+1, z=pos.z-1} + local west = {x=pos.x-1, y=pos.y+1, z=pos.z } + local north_west = {x=pos.x-1, y=pos.y+1, z=pos.z+1} + + local node_here = minetest.get_node(right_here) + local node_north = minetest.get_node(north) + local node_n_e = minetest.get_node(north_east) + local node_east = minetest.get_node(east) + local node_s_e = minetest.get_node(south_east) + local node_south = minetest.get_node(south) + local node_s_w = minetest.get_node(south_west) + local node_west = minetest.get_node(west) + local node_n_w = minetest.get_node(north_west) +-- small twigs + if twig_size <= 16 then + minetest.add_node(right_here, {name="trunks:twig_"..math.random(1,4), param2=math.random(0,3)}) + end +-- big twigs + if Big_Twigs == true then +-- big twig 1 + if twig_size == 17 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z+1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_5"}) + end + if minetest.registered_nodes[node_n_e.name].buildable_to then + minetest.add_node(north_east, {name="trunks:twig_7"}) + end + if minetest.registered_nodes[node_east.name].buildable_to then + minetest.add_node(east, {name="trunks:twig_8"}) + end + end + elseif twig_size == 18 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_5", param2=1}) + end + if minetest.registered_nodes[node_s_e.name].buildable_to then + minetest.add_node(south_east, {name="trunks:twig_7", param2=1}) + end + if minetest.registered_nodes[node_south.name].buildable_to then + minetest.add_node(south, {name="trunks:twig_8", param2=1}) + end + end + elseif twig_size == 19 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_5", param2=2}) + end + if minetest.registered_nodes[node_s_w.name].buildable_to then + minetest.add_node(south_west, {name="trunks:twig_7", param2=2}) + end + if minetest.registered_nodes[node_west.name].buildable_to then + minetest.add_node(west, {name="trunks:twig_8", param2=2}) + end + end + elseif twig_size == 20 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z+1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_5", param2=3}) + end + if minetest.registered_nodes[node_n_w.name].buildable_to then + minetest.add_node(north_west, {name="trunks:twig_7", param2=3}) + end + if minetest.registered_nodes[node_north.name].buildable_to then + minetest.add_node(north, {name="trunks:twig_8", param2=3}) + end + end +-- big twig 2 + elseif twig_size == 21 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z+1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_9"}) + end + if minetest.registered_nodes[node_north.name].buildable_to then + minetest.add_node(north, {name="trunks:twig_10"}) + end + if minetest.registered_nodes[node_n_e.name].buildable_to then + minetest.add_node(north_east, {name="trunks:twig_11"}) + end + end + elseif twig_size == 22 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_9", param2=1}) + end + if minetest.registered_nodes[node_east.name].buildable_to then + minetest.add_node(east, {name="trunks:twig_10", param2=1}) + end + if minetest.registered_nodes[node_s_e.name].buildable_to then + minetest.add_node(south_east, {name="trunks:twig_11", param2=1}) + end + end + elseif twig_size == 23 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z-1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_9", param2=2}) + end + if minetest.registered_nodes[node_south.name].buildable_to then + minetest.add_node(south, {name="trunks:twig_10", param2=2}) + end + if minetest.registered_nodes[node_s_w.name].buildable_to then + minetest.add_node(south_west, {name="trunks:twig_11", param2=2}) + end + end + elseif twig_size == 24 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z+1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_9", param2=3}) + end + if minetest.registered_nodes[node_west.name].buildable_to then + minetest.add_node(west, {name="trunks:twig_10", param2=3}) + end + if minetest.registered_nodes[node_n_w.name].buildable_to then + minetest.add_node(north_west, {name="trunks:twig_11", param2=3}) + end + end + end + end end if Twigs_on_ground == true then diff --git a/trunks/init.lua b/trunks/init.lua index ba380bb..0a15025 100644 --- a/trunks/init.lua +++ b/trunks/init.lua @@ -1,6 +1,6 @@ ----------------------------------------------------------------------------------------------- local title = "Trunks" -local version = "0.0.7" +local version = "0.0.9" local mname = "trunks" ----------------------------------------------------------------------------------------------- diff --git a/trunks/nodes.lua b/trunks/nodes.lua index 5a3af31..efc12ee 100644 --- a/trunks/nodes.lua +++ b/trunks/nodes.lua @@ -4,8 +4,9 @@ -- For compatibility with older stuff minetest.register_alias("trunks:twig", "trunks:twig_1") -local flat_stick = {-1/2, -1/2, -1/2, 1/2, -7/16, 1/2} -local NoDe = { {1}, {2}, {3}, {4} } +local flat_stick = {-1/2, -1/2, -1/2, 1/2, -7/16, 1/2} +local NoDe = { {1}, {2}, {3}, {4}, {5}, --[[{6},]] {7}, {8}, {9}, {10}, {11} } + for i in pairs(NoDe) do local NR = NoDe[i][1] @@ -15,7 +16,11 @@ for i in pairs(NoDe) do inventory_image = "trunks_twig_"..NR..".png", wield_image = "trunks_twig_"..NR..".png", drawtype = "nodebox", - tiles = { "trunks_twig_"..NR..".png" }, + tiles = { + "trunks_twig_"..NR..".png", + "trunks_twig_"..NR..".png^[transformFY", -- mirror + "trunks_twig_6.png" -- empty + }, paramtype = "light", paramtype2 = "facedir", walkable = false, @@ -34,7 +39,7 @@ for i in pairs(NoDe) do local pt = pointed_thing local direction = minetest.dir_to_facedir(placer:get_look_dir()) if minetest.get_node(pt.above).name=="air" then - minetest.set_node(pt.above, {name="trunks:twig_"..math.random(1,3), param2=direction}) + minetest.set_node(pt.above, {name="trunks:twig_"..math.random(1,4), param2=direction}) if not minetest.setting_getbool("creative_mode") then itemstack:take_item() end diff --git a/trunks/textures/comboSticks.png b/trunks/textures/old & unused/comboSticks.png similarity index 100% rename from trunks/textures/comboSticks.png rename to trunks/textures/old & unused/comboSticks.png diff --git a/trunks/textures/old & unused/comboSticks_2.png b/trunks/textures/old & unused/comboSticks_2.png new file mode 100644 index 0000000..8dd954f Binary files /dev/null and b/trunks/textures/old & unused/comboSticks_2.png differ diff --git a/trunks/textures/trunks_twig_1e.png b/trunks/textures/old & unused/trunks_twig_1e.png similarity index 100% rename from trunks/textures/trunks_twig_1e.png rename to trunks/textures/old & unused/trunks_twig_1e.png diff --git a/trunks/textures/old & unused/trunks_twig_1n.png b/trunks/textures/old & unused/trunks_twig_1n.png new file mode 100644 index 0000000..3389cd0 Binary files /dev/null and b/trunks/textures/old & unused/trunks_twig_1n.png differ diff --git a/trunks/textures/trunks_twig_1o.png b/trunks/textures/old & unused/trunks_twig_1o.png similarity index 100% rename from trunks/textures/trunks_twig_1o.png rename to trunks/textures/old & unused/trunks_twig_1o.png diff --git a/trunks/textures/trunks_twig_2e.png b/trunks/textures/old & unused/trunks_twig_2e.png similarity index 100% rename from trunks/textures/trunks_twig_2e.png rename to trunks/textures/old & unused/trunks_twig_2e.png diff --git a/trunks/textures/old & unused/trunks_twig_2n.png b/trunks/textures/old & unused/trunks_twig_2n.png new file mode 100644 index 0000000..11687dd Binary files /dev/null and b/trunks/textures/old & unused/trunks_twig_2n.png differ diff --git a/trunks/textures/trunks_twig_2o.png b/trunks/textures/old & unused/trunks_twig_2o.png similarity index 100% rename from trunks/textures/trunks_twig_2o.png rename to trunks/textures/old & unused/trunks_twig_2o.png diff --git a/trunks/textures/trunks_twig_3e.png b/trunks/textures/old & unused/trunks_twig_3e.png similarity index 100% rename from trunks/textures/trunks_twig_3e.png rename to trunks/textures/old & unused/trunks_twig_3e.png diff --git a/trunks/textures/old & unused/trunks_twig_3n.png b/trunks/textures/old & unused/trunks_twig_3n.png new file mode 100644 index 0000000..54c9dce Binary files /dev/null and b/trunks/textures/old & unused/trunks_twig_3n.png differ diff --git a/trunks/textures/trunks_twig_3o.png b/trunks/textures/old & unused/trunks_twig_3o.png similarity index 100% rename from trunks/textures/trunks_twig_3o.png rename to trunks/textures/old & unused/trunks_twig_3o.png diff --git a/trunks/textures/old & unused/trunks_twig_4n.png b/trunks/textures/old & unused/trunks_twig_4n.png new file mode 100644 index 0000000..cc67ee6 Binary files /dev/null and b/trunks/textures/old & unused/trunks_twig_4n.png differ diff --git a/trunks/textures/old & unused/trunks_twig_5-8.png b/trunks/textures/old & unused/trunks_twig_5-8.png new file mode 100644 index 0000000..1bceec1 Binary files /dev/null and b/trunks/textures/old & unused/trunks_twig_5-8.png differ diff --git a/trunks/textures/old & unused/trunks_twig_9-12.png b/trunks/textures/old & unused/trunks_twig_9-12.png new file mode 100644 index 0000000..a86597b Binary files /dev/null and b/trunks/textures/old & unused/trunks_twig_9-12.png differ diff --git a/trunks/textures/trunks_twig_1.png b/trunks/textures/trunks_twig_1.png index 3389cd0..bebb38b 100644 Binary files a/trunks/textures/trunks_twig_1.png and b/trunks/textures/trunks_twig_1.png differ diff --git a/trunks/textures/trunks_twig_10.png b/trunks/textures/trunks_twig_10.png new file mode 100644 index 0000000..a345b29 Binary files /dev/null and b/trunks/textures/trunks_twig_10.png differ diff --git a/trunks/textures/trunks_twig_11.png b/trunks/textures/trunks_twig_11.png new file mode 100644 index 0000000..69bbfb0 Binary files /dev/null and b/trunks/textures/trunks_twig_11.png differ diff --git a/trunks/textures/trunks_twig_2.png b/trunks/textures/trunks_twig_2.png index 11687dd..4700b65 100644 Binary files a/trunks/textures/trunks_twig_2.png and b/trunks/textures/trunks_twig_2.png differ diff --git a/trunks/textures/trunks_twig_3.png b/trunks/textures/trunks_twig_3.png index 54c9dce..045c3c2 100644 Binary files a/trunks/textures/trunks_twig_3.png and b/trunks/textures/trunks_twig_3.png differ diff --git a/trunks/textures/trunks_twig_4.png b/trunks/textures/trunks_twig_4.png index cc67ee6..5bd135a 100644 Binary files a/trunks/textures/trunks_twig_4.png and b/trunks/textures/trunks_twig_4.png differ diff --git a/trunks/textures/trunks_twig_5.png b/trunks/textures/trunks_twig_5.png new file mode 100644 index 0000000..79a57f9 Binary files /dev/null and b/trunks/textures/trunks_twig_5.png differ diff --git a/trunks/textures/trunks_twig_6.png b/trunks/textures/trunks_twig_6.png new file mode 100644 index 0000000..c682453 Binary files /dev/null and b/trunks/textures/trunks_twig_6.png differ diff --git a/trunks/textures/trunks_twig_7.png b/trunks/textures/trunks_twig_7.png new file mode 100644 index 0000000..a37b9b3 Binary files /dev/null and b/trunks/textures/trunks_twig_7.png differ diff --git a/trunks/textures/trunks_twig_8.png b/trunks/textures/trunks_twig_8.png new file mode 100644 index 0000000..b411187 Binary files /dev/null and b/trunks/textures/trunks_twig_8.png differ diff --git a/trunks/textures/trunks_twig_9.png b/trunks/textures/trunks_twig_9.png new file mode 100644 index 0000000..176812a Binary files /dev/null and b/trunks/textures/trunks_twig_9.png differ diff --git a/trunks/textures/trunks_twigs.png b/trunks/textures/trunks_twigs.png new file mode 100644 index 0000000..20ae6ca Binary files /dev/null and b/trunks/textures/trunks_twigs.png differ diff --git a/trunks/textures/trunks_twigs_corner.png b/trunks/textures/trunks_twigs_corner.png new file mode 100644 index 0000000..a1ebde7 Binary files /dev/null and b/trunks/textures/trunks_twigs_corner.png differ diff --git a/trunks/textures/trunks_twigs_top.png b/trunks/textures/trunks_twigs_top.png new file mode 100644 index 0000000..828768a Binary files /dev/null and b/trunks/textures/trunks_twigs_top.png differ diff --git a/trunks/trunks_settings.txt b/trunks/trunks_settings.txt index db847e5..dfeab67 100644 --- a/trunks/trunks_settings.txt +++ b/trunks/trunks_settings.txt @@ -3,48 +3,65 @@ + Horizontal_Trunks = true + Trunks_Max_Count = 320 -- absolute maximum number in an area of 80x80x80 nodes + Trunks_Rarity = 99 -- larger values make trunks more rare (100 means chance of 0 %) + +Big_Twigs = true -- twigs larger than one node Twigs_on_ground = true + Twigs_on_ground_Max_Count = 640 -- absolute maximum number in an area of 80x80x80 nodes + Twigs_on_ground_Rarity = 66 -- larger values make twigs more rare (100 means chance of 0 %) + Twigs_on_water = true + Twigs_on_water_Max_Count = 320 -- absolute maximum number in an area of 80x80x80 nodes + Twigs_on_water_Rarity = 33 -- larger values make twigs more rare (100 means chance of 0 %) + Moss_on_ground = true + Moss_on_ground_Max_Count = 400 -- absolute maximum number in an area of 80x80x80 nodes + Moss_on_ground_Rarity = 79 -- larger values makes moss more rare (100 means chance of 0 %) + Moss_on_trunk = true + Moss_on_trunk_Max_Count = 640 -- absolute maximum number in an area of 80x80x80 nodes + Moss_on_trunk_Rarity = 24 -- larger values makes moss more rare (100 means chance of 0 %) + Auto_Roof_Corner = true -- behavior is similar (not the same!) to the one of minecraft stairs \ No newline at end of file