summaryrefslogtreecommitdiff
path: root/woodsoils
diff options
context:
space:
mode:
Diffstat (limited to 'woodsoils')
-rw-r--r--woodsoils/depends.txt7
-rw-r--r--woodsoils/generating.lua151
-rw-r--r--woodsoils/init.lua29
-rw-r--r--woodsoils/nodes.lua79
-rw-r--r--woodsoils/textures/credit_textures.txt16
-rw-r--r--woodsoils/textures/not in use/woodsoils.pngbin0 -> 110 bytes
-rw-r--r--woodsoils/textures/woodsoils_ground.pngbin0 -> 693 bytes
-rw-r--r--woodsoils/textures/woodsoils_ground_cover.pngbin0 -> 775 bytes
-rw-r--r--woodsoils/textures/woodsoils_ground_cover2.pngbin0 -> 684 bytes
-rw-r--r--woodsoils/textures/woodsoils_ground_cover_side.pngbin0 -> 353 bytes
-rw-r--r--woodsoils/textures/woodsoils_ground_cover_side2.pngbin0 -> 325 bytes
-rw-r--r--woodsoils/textures/woodsoils_ground_side.pngbin0 -> 368 bytes
12 files changed, 282 insertions, 0 deletions
diff --git a/woodsoils/depends.txt b/woodsoils/depends.txt
new file mode 100644
index 0000000..c95a2bf
--- /dev/null
+++ b/woodsoils/depends.txt
@@ -0,0 +1,7 @@
+default
+biome_lib
+bushes?
+ferns?
+moretrees?
+trees?
+trunks? \ No newline at end of file
diff --git a/woodsoils/generating.lua b/woodsoils/generating.lua
new file mode 100644
index 0000000..1d03ed7
--- /dev/null
+++ b/woodsoils/generating.lua
@@ -0,0 +1,151 @@
+-- generating of forest soils
+
+local RaDiuS = {
+-- WE1 NS1 WE2 NS2 WE3 NS3
+ {-1,-2, -2,-2, -2,-3},
+ { 0,-2, -3,-1, -3,-2},
+ { 1,-2, -3, 0, -4,-1},
+ {-2,-1, -3, 1, -4, 0},
+ {-1,-1, -2, 2, -4, 1},
+ { 0,-1, -1, 3, -3, 2},
+ { 1,-1, 0, 3, -2, 3},
+ { 2,-1, 1, 3, -1, 4},
+ {-2, 0, 2, 2, 0, 4},
+ {-1, 0, 3, 1, 1, 4},
+ { 0, 0, 3, 0, 2, 3},
+ { 1, 0, 3,-1, 3, 2},
+ { 2, 0, 2,-2, 4, 1},
+ {-2, 1, 1,-3, 4, 0},
+ {-1, 1, 0,-3, 4,-1},
+ { 0, 1, -1,-3, 3,-2},
+ { 1, 1, 0, 0, 2,-3},
+ { 2, 1, 0, 0, 1,-4},
+ {-1, 2, 0, 0, 0,-4},
+ { 0, 2, 0, 0, -1,-4},
+ { 1, 2, 0, 0, 0, 0},
+}
+-- e = + , n = +
+abstract_woodsoils.place_soil = function(pos)
+
+ if minetest.get_item_group(minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name, "soil") > 0
+ or minetest.get_item_group(minetest.get_node({x=pos.x,y=pos.y-2,z=pos.z}).name, "soil") > 0 then
+ for i in pairs(RaDiuS) do
+ local WE1 = RaDiuS[i][1]
+ local NS1 = RaDiuS[i][2]
+ local WE2 = RaDiuS[i][3]
+ local NS2 = RaDiuS[i][4]
+ local WE3 = RaDiuS[i][5]
+ local NS3 = RaDiuS[i][6]
+ local radius_1a = {x=pos.x+WE1,y=pos.y-1,z=pos.z+NS1}
+ local radius_1b = {x=pos.x+WE1,y=pos.y-2,z=pos.z+NS1}
+ local radius_2a = {x=pos.x+WE2,y=pos.y-1,z=pos.z+NS2}
+ local radius_2b = {x=pos.x+WE2,y=pos.y-2,z=pos.z+NS2}
+ local radius_3a = {x=pos.x+WE3,y=pos.y-1,z=pos.z+NS3}
+ local radius_3b = {x=pos.x+WE3,y=pos.y-2,z=pos.z+NS3}
+ --local node_1a = minetest.get_node(radius_1a)
+ --local node_1b = minetest.get_node(radius_1b)
+ local node_2a = minetest.get_node(radius_2a)
+ local node_2b = minetest.get_node(radius_2b)
+ local node_3a = minetest.get_node(radius_3a)
+ local node_3b = minetest.get_node(radius_3b)
+ -- Dirt with Leaves 1
+ if minetest.get_item_group(minetest.get_node(radius_1a).name, "soil") > 0 then
+ minetest.set_node(radius_1a, {name="woodsoils:dirt_with_leaves_1"})
+ end
+ if minetest.get_item_group(minetest.get_node(radius_1b).name, "soil") > 0 then
+ minetest.set_node(radius_1b, {name="woodsoils:dirt_with_leaves_1"})
+ end
+ -- Grass with Leaves 2
+ if string.find(node_2a.name, "dirt_with_grass") then
+ minetest.set_node(radius_2a, {name="woodsoils:grass_with_leaves_2"})
+ end
+ if string.find(node_2b.name, "dirt_with_grass") then
+ minetest.set_node(radius_2b, {name="woodsoils:grass_with_leaves_2"})
+ end
+ -- Grass with Leaves 1
+ if string.find(node_3a.name, "dirt_with_grass") then
+ minetest.set_node(radius_3a, {name="woodsoils:grass_with_leaves_1"})
+ end
+ if string.find(node_3b.name, "dirt_with_grass") then
+ minetest.set_node(radius_3b, {name="woodsoils:grass_with_leaves_1"})
+ end
+ end
+ end
+end
+
+biome_lib:register_generate_plant({
+ surface = {
+ "group:tree",
+ "ferns:fern_03",
+ "ferns:fern_02",
+ "ferns:fern_01"
+ },
+ max_count = 1000,
+ rarity = 1,
+ min_elevation = 1,
+ max_elevation = 40,
+ near_nodes = {"group:tree","ferns:fern_03","ferns:fern_02","ferns:fern_01"},
+ near_nodes_size = 5,
+ near_nodes_vertical = 1,
+ near_nodes_count = 4,
+ plantlife_limit = -1,
+ check_air = false,
+ },
+ "abstract_woodsoils.place_soil"
+)
+
+biome_lib:register_generate_plant({
+ surface = {
+ "moretrees:apple_tree_sapling_ongen",
+ "moretrees:beech_sapling_ongen",
+ "moretrees:birch_sapling_ongen",
+ "moretrees:fir_sapling_ongen",
+ "moretrees:jungletree_sapling_ongen",
+ "moretrees:oak_sapling_ongen",
+ "moretrees:palm_sapling_ongen",
+ "moretrees:rubber_tree_sapling_ongen",
+ "moretrees:sequoia_sapling_ongen",
+ "moretrees:spruce_sapling_ongen",
+ "moretrees:willow_sapling_ongen"
+ },
+ max_count = 1000,
+ rarity = 2,
+ min_elevation = 1,
+ max_elevation = 40,
+ plantlife_limit = -0.9,
+ check_air = false,
+ },
+ "abstract_woodsoils.place_soil"
+)
+
+minetest.register_abm({
+ nodenames = {"default:papyrus"},
+ neighbors = {
+ "woodsoils:dirt_with_leaves_1",
+ "woodsoils:dirt_with_leaves_2",
+ "woodsoils:grass_with_leaves_1",
+ "woodsoils:grass_with_leaves_2"
+ },
+ interval = 50,
+ chance = 20,
+ action = function(pos, node)
+ pos.y = pos.y-1
+ local name = minetest.get_node(pos).name
+ if string.find(name, "_with_leaves_") then
+ if minetest.find_node_near(pos, 3, {"group:water"}) == nil then
+ return
+ end
+ pos.y = pos.y+1
+ local height = 0
+ while minetest.get_node(pos).name == "default:papyrus" and height < 4 do
+ height = height+1
+ pos.y = pos.y+1
+ end
+ if height < 4 then
+ if minetest.get_node(pos).name == "air" then
+ minetest.set_node(pos, {name="default:papyrus"})
+ end
+ end
+ end
+ end,
+})
diff --git a/woodsoils/init.lua b/woodsoils/init.lua
new file mode 100644
index 0000000..9037d45
--- /dev/null
+++ b/woodsoils/init.lua
@@ -0,0 +1,29 @@
+-----------------------------------------------------------------------------------------------
+local title = "Wood Soils" -- former "Forest Soils"
+local version = "0.0.9"
+local mname = "woodsoils" -- former "forestsoils"
+-----------------------------------------------------------------------------------------------
+
+abstract_woodsoils = {}
+
+dofile(minetest.get_modpath("woodsoils").."/nodes.lua")
+dofile(minetest.get_modpath("woodsoils").."/generating.lua")
+
+-- felt like playing a bit :D
+--[[print(" _____ __")
+print("_/ ____\\___________ ____ _______/ |_")
+print("\\ __\\/ _ \\_ __ \\_/ __ \\ / ___/\\ __\\")
+print(" | | ( <_> ) | \\/\\ ___/ \\___ \\ | |")
+print(" |__| \\____/|__| \\___ >____ > |__|")
+print(" \\/ \\/")
+
+print(" .__.__")
+print(" __________ |__| | ______")
+print(" / ___/ _ \\| | | / ___/")
+print(" \\___ ( <_> ) | |__\\___ \\")
+print("/____ >____/|__|____/____ >")
+print(" \\/ \\/")]]
+
+-----------------------------------------------------------------------------------------------
+print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...")
+----------------------------------------------------------------------------------------------- \ No newline at end of file
diff --git a/woodsoils/nodes.lua b/woodsoils/nodes.lua
new file mode 100644
index 0000000..e80c522
--- /dev/null
+++ b/woodsoils/nodes.lua
@@ -0,0 +1,79 @@
+-- nodes
+
+minetest.register_node("woodsoils:dirt_with_leaves_1", {
+ description = "Forest Soil 1",
+ tiles = {
+ "default_dirt.png^woodsoils_ground_cover.png",
+ "default_dirt.png",
+ "default_dirt.png^woodsoils_ground_cover_side.png"},
+ is_ground_content = true,
+ groups = {
+ crumbly=3,
+ soil=1--,
+ --not_in_creative_inventory=1
+ },
+ drop = 'default:dirt',
+ sounds = default.node_sound_dirt_defaults({
+ footstep = {name="default_grass_footstep", gain=0.4},
+ }),
+})
+
+minetest.register_node("woodsoils:dirt_with_leaves_2", {
+ description = "Forest Soil 2",
+ tiles = {
+ "woodsoils_ground.png",
+ "default_dirt.png",
+ "default_dirt.png^woodsoils_ground_side.png"},
+ is_ground_content = true,
+ groups = {
+ crumbly=3,
+ soil=1--,
+ --not_in_creative_inventory=1
+ },
+ drop = 'default:dirt',
+ sounds = default.node_sound_dirt_defaults({
+ footstep = {name="default_grass_footstep", gain=0.4},
+ }),
+})
+
+minetest.register_node("woodsoils:grass_with_leaves_1", {
+ description = "Forest Soil 3",
+ tiles = {
+ "default_grass.png^woodsoils_ground_cover2.png",
+ "default_dirt.png",
+ "default_dirt.png^default_grass_side.png^woodsoils_ground_cover_side2.png"},
+ is_ground_content = true,
+ groups = {
+ crumbly=3,
+ soil=1--,
+ --not_in_creative_inventory=1
+ },
+ drop = 'default:dirt',
+ sounds = default.node_sound_dirt_defaults({
+ footstep = {name="default_grass_footstep", gain=0.4},
+ }),
+})
+
+minetest.register_node("woodsoils:grass_with_leaves_2", {
+ description = "Forest Soil 4",
+ tiles = {
+ "default_grass.png^woodsoils_ground_cover.png",
+ "default_dirt.png",
+ "default_dirt.png^default_grass_side.png^woodsoils_ground_cover_side.png"},
+ is_ground_content = true,
+ groups = {
+ crumbly=3,
+ soil=1--,
+ --not_in_creative_inventory=1
+ },
+ drop = 'default:dirt',
+ sounds = default.node_sound_dirt_defaults({
+ footstep = {name="default_grass_footstep", gain=0.4},
+ }),
+})
+
+-- For compatibility with older stuff
+minetest.register_alias("forestsoils:dirt_with_leaves_1", "woodsoils:dirt_with_leaves_1")
+minetest.register_alias("forestsoils:dirt_with_leaves_2", "woodsoils:dirt_with_leaves_2")
+minetest.register_alias("forestsoils:grass_with_leaves_1", "woodsoils:grass_with_leaves_1")
+minetest.register_alias("forestsoils:grass_with_leaves_2", "woodsoils:grass_with_leaves_2")
diff --git a/woodsoils/textures/credit_textures.txt b/woodsoils/textures/credit_textures.txt
new file mode 100644
index 0000000..45d582d
--- /dev/null
+++ b/woodsoils/textures/credit_textures.txt
@@ -0,0 +1,16 @@
+-------------------------------------------------------------
+Credit for textures of "woodsoils"
+-------------------------------------------------------------
+(If more than one author is listed the names are in alphabetical order)
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+FOLDER TEXTURE AUTHORS
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+../woodsoils/textures woodsoils_ground.png Mossmanikin
+ woodsoils_ground_cover.png Mossmanikin
+ woodsoils_ground_cover_side.png Mossmanikin
+ woodsoils_ground_cover_side2.png Mossmanikin
+ woodsoils_ground_cover2.png Mossmanikin
+ woodsoils_ground_side.png Mossmanikin
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+../woodsoils/textures/not in use woodsoils.png Mossmanikin
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
diff --git a/woodsoils/textures/not in use/woodsoils.png b/woodsoils/textures/not in use/woodsoils.png
new file mode 100644
index 0000000..67253bc
--- /dev/null
+++ b/woodsoils/textures/not in use/woodsoils.png
Binary files differ
diff --git a/woodsoils/textures/woodsoils_ground.png b/woodsoils/textures/woodsoils_ground.png
new file mode 100644
index 0000000..907b345
--- /dev/null
+++ b/woodsoils/textures/woodsoils_ground.png
Binary files differ
diff --git a/woodsoils/textures/woodsoils_ground_cover.png b/woodsoils/textures/woodsoils_ground_cover.png
new file mode 100644
index 0000000..103f103
--- /dev/null
+++ b/woodsoils/textures/woodsoils_ground_cover.png
Binary files differ
diff --git a/woodsoils/textures/woodsoils_ground_cover2.png b/woodsoils/textures/woodsoils_ground_cover2.png
new file mode 100644
index 0000000..ec18dd6
--- /dev/null
+++ b/woodsoils/textures/woodsoils_ground_cover2.png
Binary files differ
diff --git a/woodsoils/textures/woodsoils_ground_cover_side.png b/woodsoils/textures/woodsoils_ground_cover_side.png
new file mode 100644
index 0000000..d21f2b9
--- /dev/null
+++ b/woodsoils/textures/woodsoils_ground_cover_side.png
Binary files differ
diff --git a/woodsoils/textures/woodsoils_ground_cover_side2.png b/woodsoils/textures/woodsoils_ground_cover_side2.png
new file mode 100644
index 0000000..f4e4ce6
--- /dev/null
+++ b/woodsoils/textures/woodsoils_ground_cover_side2.png
Binary files differ
diff --git a/woodsoils/textures/woodsoils_ground_side.png b/woodsoils/textures/woodsoils_ground_side.png
new file mode 100644
index 0000000..08fb4be
--- /dev/null
+++ b/woodsoils/textures/woodsoils_ground_side.png
Binary files differ