From dfa7c1e5292ff5eb7365a20a1570c088db68284c Mon Sep 17 00:00:00 2001 From: wintersknight94 <62315647+wintersknight94@users.noreply.github.com> Date: Thu, 9 Apr 2020 12:12:58 -0500 Subject: [PATCH] Add files via upload reworked textures, biome and decor params, --- bigdecor.lua | 4 +- biomes.lua | 188 ++++++++++++++++-------- decor.lua | 41 ++++-- fungi.lua | 171 +++++++++++++++++---- plants.lua | 85 ++++++----- schematic.lua | 34 ++++- textures/nc_nature_decayed_log_side.png | Bin 639 -> 297 bytes textures/nc_nature_decayed_log_top.png | Bin 3407 -> 3385 bytes textures/nc_nature_lilypad.png | Bin 3155 -> 3321 bytes textures/nc_nature_lilypad_bottom.png | Bin 3223 -> 3418 bytes textures/nc_nature_reeds.png | Bin 3585 -> 3350 bytes textures/nc_nature_shrub.png | Bin 3215 -> 3473 bytes textures/nc_nature_starflower.png | Bin 0 -> 572 bytes 13 files changed, 373 insertions(+), 150 deletions(-) create mode 100644 textures/nc_nature_starflower.png diff --git a/bigdecor.lua b/bigdecor.lua index e54ab40..18f62ac 100644 --- a/bigdecor.lua +++ b/bigdecor.lua @@ -11,7 +11,7 @@ minetest.register_decoration({ place_on = {"group:soil"}, sidelen = 16, fill_ratio = 0.02, - biomes = {"forest", "thicket"}, + biomes = {"forest", "thicket", "OLD_FOREST"}, y_min = 1, y_max = 1000, schematic = nodecore.talltree_schematic, @@ -75,7 +75,7 @@ minetest.register_decoration({ -- persist = 0.64 -- }, fill_ratio = 0.001, - biomes = {"unknown", "grassland", "stonewaste", "old_forest"}, + biomes = {"grassland", "stonewaste", "old_forest"}, y_min = 1, y_max = 31000, schematic = nodecore.boulder_schematic, diff --git a/biomes.lua b/biomes.lua index 699cd8a..56bcdf9 100644 --- a/biomes.lua +++ b/biomes.lua @@ -5,57 +5,8 @@ local minetest local modname = minetest.get_current_modname() -minetest.register_biome({ - name = "forest", - node_top = "nc_terrain:dirt_with_grass", - depth_top = 1, - node_filler = "nc_terrain:dirt", - depth_filler = 6, - node_riverbed = "nc_terrain:dirt", - depth_riverbed = 2, - node_dungeon = "nc_concrete:bricks_bonded", - y_min = 4, - y_max = 2000, - vertical_blend = 16, - horizontal_blend = 16, - heat_point = 50, - humidity_point = 60, - }) - -minetest.register_biome({ - name = "old_forest", - node_top = "nc_terrain:dirt_with_grass", - depth_top = 1, - node_filler = "nc_terrain:dirt", - depth_filler = 6, - node_riverbed = "nc_terrain:dirt", - depth_riverbed = 2, - node_dungeon = "nc_concrete:bricks_bonded", - y_min = 6, - y_max = 1000, - vertical_blend = 16, - horizontal_blend = 16, - heat_point = 40, - humidity_point = 75, - }) - -minetest.register_biome({ - name = "thicket", - node_top = "nc_terrain:dirt_with_grass", - depth_top = 1, - node_filler = "nc_terrain:dirt", - depth_filler = 2, - node_riverbed = "nc_terrain:sand", - depth_riverbed = 2, - node_dungeon = "nc_terrain:stone", - y_min = 4, - y_max = 64, - vertical_blend = 8, - horizontal_blend = 16, - heat_point = 70, - humidity_point = 80, - }) - +---------------------------------------- +---------------GRASSLAND---------------- minetest.register_biome({ name = "grassland", node_top = "nc_terrain:dirt_with_grass", @@ -64,14 +15,98 @@ minetest.register_biome({ depth_filler = 2, node_riverbed = "nc_terrain:sand", depth_riverbed = 1, + node_dungeon = "nc_concrete:adobe", + node_dungeon_alt = "nc_nature:mossy_dirt", y_min = 1, y_max = 31000, vertical_blend = 16, horizontal_blend = 16, heat_point = 50, - humidity_point =40, + humidity_point =50, }) +---------------------------------------- +-----------------FOREST----------------- +minetest.register_biome({ + name = "forest", + node_top = "nc_terrain:dirt_with_grass", + depth_top = 1, + node_filler = "nc_terrain:dirt", + depth_filler = 4, + node_riverbed = "nc_terrain:dirt", + depth_riverbed = 2, + node_dungeon = "nc_stonework:bricks_bonded", + node_dungeon_alt = "nc_nature:mossy_bricks_bonded", + y_min = 4, + y_max = 200, + vertical_blend = 16, + horizontal_blend = 16, + heat_point = 45, + humidity_point = 60, + }) + +---------------------------------------- +---------------OLD FOREST--------------- +minetest.register_biome({ + name = "old_forest", + node_top = "nc_terrain:dirt_with_grass", + depth_top = 1, + node_filler = "nc_terrain:dirt", + depth_filler = 6, + node_riverbed = "nc_terrain:dirt", + depth_riverbed = 2, + node_dungeon = "nc_stonework:bricks_bonded", + node_dungeon_alt = "nc_nature:mossy_bricks_bonded", + y_min = 6, + y_max = 100, + vertical_blend = 16, + horizontal_blend = 16, + heat_point = 40, + humidity_point = 65, + }) + +---------------------------------------- +-------------ANCIENT FOREST------------- +minetest.register_biome({ + name = "ancient_forest", + node_top = "nc_terrain:dirt_with_grass", + depth_top = 1, + node_filler = "nc_terrain:dirt", + depth_filler = 8, + node_riverbed = "nc_terrain:dirt", + depth_riverbed = 2, + node_dungeon = "nc_stonework:bricks_bonded", + node_dungeon_alt = "nc_nature:mossy_bricks_bonded", + y_min = 6, + y_max = 100, + vertical_blend = 16, + horizontal_blend = 16, + heat_point = 35, + humidity_point = 70, + }) + +---------------------------------------- +----------------THICKET----------------- +minetest.register_biome({ + name = "thicket", + node_top = "nc_terrain:dirt_with_grass", + depth_top = 1, + node_filler = "nc_terrain:dirt", + depth_filler = 2, + node_riverbed = "nc_terrain:sand", + depth_riverbed = 2, + node_dungeon = "nc_concrete:adobe", + node_dungeon_alt = "nc_nature:mossy_dirt", + y_min = 4, + y_max = 48, + vertical_blend = 8, + horizontal_blend = 16, + heat_point = 70, + humidity_point = 80, + }) + +---------------------------------------- +---------------FLOODLAND---------------- minetest.register_biome({ name = "floodland", node_top = "nc_terrain:dirt_with_grass", @@ -80,7 +115,9 @@ minetest.register_biome({ depth_filler = 2, node_riverbed = "nc_terrain:sand", depth_riverbed = 1, - y_min = -4, + node_dungeon = "nc_stonework:bricks", + node_dungeon_alt = "nc_nature:mossy_bricks", + y_min = -1, y_max = 2, vertical_blend = 2, horizontal_blend = 16, @@ -88,20 +125,43 @@ minetest.register_biome({ humidity_point = 100, }) +---------------------------------------- +-----------------DUNE------------------- minetest.register_biome({ - name = "stonewaste", - node_top = "nc_terrain:cobble", - depth_top = 1, - node_filler = "nc_terrain:cobble", - depth_filler = 1, - node_riverbed = "nc_terrain:gravel", - depth_riverbed = 2, - node_dungeon = "nc_concrete:bricks_bonded", - y_min = 30, + name = "dune", +-- node_dust = "nc_terrain:sand", + node_top = "nc_terrain:sand", + depth_top = 3, + node_filler = "nc_concrete:sandstone", + depth_filler = 6, + node_riverbed = "nc_terrain:sand", + depth_riverbed = 6, + node_dungeon = "nc_concrete:sandstone", + y_min = 0, y_max = 31000, vertical_blend = 16, horizontal_blend = 16, - heat_point = 100, - humidity_point = 0, + heat_point = 90, + humidity_point = 5, + }) + +---------------------------------------- +---------------STONEWASTE--------------- +minetest.register_biome({ --This is the best 'cold biome' i can do without adding ice. + name = "stonewaste", + node_top = "nc_terrain:gravel", + depth_top = 2, + node_filler = "nc_terrain:cobble", + depth_filler = 3, + node_riverbed = "nc_terrain:gravel", + depth_riverbed = 2, + node_dungeon = "nc_terrain:cobble", + node_dungeon_alt = "nc_nature:mossy_cobble", + y_min = 0, + y_max = 31000, + vertical_blend = 16, + horizontal_blend = 16, + heat_point = 10, + humidity_point = 5, }) diff --git a/decor.lua b/decor.lua index db7a967..b1e2ca9 100644 --- a/decor.lua +++ b/decor.lua @@ -48,17 +48,17 @@ function register_flower_decoration(offset, scale, id, ymin) octaves = 3, persist = 0.4 }, - y_max = 1000, + y_max = 140, y_min = ymin, decoration = {modname .. ":flower_" .. id}, }) end -register_flower_decoration(-0.072, 0.02, "blue", 2) -register_flower_decoration(-0.041, 0.02, "red", 20) -register_flower_decoration(0, 0.02, "violet", 10) -register_flower_decoration(0.015, 0.02, "white", 5) -register_flower_decoration(0.03, 0.02, "yellow", 1) +register_flower_decoration(0.072, 0.02, "violet", 40) +register_flower_decoration(0.042, 0.02, "red", 30) +register_flower_decoration(0.005, 0.02, "blue", 20) +register_flower_decoration(0.015, 0.01, "white", 5) +register_flower_decoration(0.035, 0.01, "yellow", 1) ---------------------------------------- ---------------REEDS-------------------- @@ -134,7 +134,7 @@ minetest.register_decoration({ place_on = {"group:soil"}, sidelen = 16, fill_ratio = 0.1, - biomes = {"forest"}, + biomes = {"forest", "old_forest"}, y_max = 2000, y_min = -20, decoration = {modname .. ":fern"}, @@ -145,7 +145,7 @@ minetest.register_decoration({ minetest.register_decoration({ name = {modname .. ":lilypad"}, deco_type = "simple", - place_on = {"nc_terrain:dirt", "nc_terrain:sand"}, + place_on = {"group:soil", "group:crumbly", "group:stone", }, sidelen = 16, noise_params = { offset = -0.12, @@ -202,8 +202,27 @@ function mushroom_decoration(id, ymin, ymax, offest, scale, seed, place, biome) }) end --------------------ID------------------ymin----ymax----offset------scale---seed----place-----------------------------------------------biome----- -mushroom_decoration("mushroom", 1, 80, -0.42, 0.07, 42, {"group:soil"}, {"grassland", "forest", "old_forest"}) -mushroom_decoration("mushroom_glow", -400, 1, 0.11, 0.2, 94, {"group:soil", "group:crumbly", "group:cobble"}, {""}) -mushroom_decoration("mushroom_lux", -1000, -100, 0.72, 0.1, 69, {"group:soil", "group:crumbly", "group:cobble"}, {""}) +mushroom_decoration("mushroom", 1, 80, -0.42, 0.07, 42, {"group:soil", "group:log"}, {"grassland", "forest", "old_forest"}) +mushroom_decoration("mushroom_glow", -400, 1, 0.11, 0.2, 94, {"group:soil", "group:log", "group:crumbly", "group:cobble"}, {""}) +mushroom_decoration("mushroom_lux", -1000, -100, 0.72, 0.1, 69, {"group:soil", "group:crumbly", "group:cobble"}, {""}) ----------------------------------------------------------------------------------- +---------------------------------------- +---------------STARFLOWER--------------- +minetest.register_decoration({ + name = {modname .. ":starflower"}, + deco_type = "simple", + place_on = {"group:soil"}, + sidelen = 16, + noise_params = { + offset = -0.7, + scale = 0.7, + spread = {x = 700, y = 70, z = 700}, + seed = 777, + octaves = 7, + persist = 0.7 + }, + y_max = 31000, + y_min = 200, + decoration = {modname .. ":starflower"}, + }) \ No newline at end of file diff --git a/fungi.lua b/fungi.lua index 0f3b46b..2c7f727 100644 --- a/fungi.lua +++ b/fungi.lua @@ -3,15 +3,22 @@ local minetest, nodecore = minetest, nodecore -- LUALOCALS > --------------------------------------------------------- local modname = minetest.get_current_modname() -local checkdirs = { - {x = 1, y = 0, z = 0}, - {x = -1, y = 0, z = 0}, - {x = 0, y = 0, z = 1}, - {x = 0, y = 0, z = -1}, - {x = 0, y = 1, z = 0}, - {x = 0, y = -1, z = 0} +local checkdirs = nodecore.dirs() +local breathable = { + airlike = true, + allfaces = true, + allfaces_optional = true, + torchlike = true, + signlike = true, + plantlike = true, + firelike = true, + raillike = true, + nodebox = true, + mesh = true, + plantlike_rooted = true, + liquid = true, + flowingliquid = true } - ---------------------------------------- ---------------MUSHROOMS---------------- @@ -23,11 +30,11 @@ local checkdirs = { sunlight_propagates = true, paramtype = 'light', walkable = false, - silktouch = false, - groups = { snappy = 1, fungi = 1, flammable = 1, attached_node = 1}, +-- silktouch = false, + groups = { snappy = 1, fungi = 1, flammable = 1, attached_node = 1, natdecay = 1}, sounds = nodecore.sounds("nc_terrain_swishy"), buildable_to = true, - drop = "nc_nature:plant_fibers", +-- drop = "nc_nature:plant_fibers", selection_box = { type = "fixed", fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 4 / 16, 6 / 16}, @@ -42,12 +49,12 @@ local checkdirs = { sunlight_propagates = true, paramtype = 'light', walkable = false, - silktouch = false, +-- silktouch = false, light_source = 2, - groups = { snappy = 1, fungi = 1, flammable = 1, attached_node = 1}, + groups = { snappy = 1, fungi = 1, flammable = 1, attached_node = 1, natdecay = 1}, sounds = nodecore.sounds("nc_terrain_swishy"), buildable_to = true, - drop = "nc_nature:plant_fibers", +-- drop = "nc_nature:plant_fibers", selection_box = { type = "fixed", fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 4 / 16, 6 / 16}, @@ -62,12 +69,12 @@ local checkdirs = { sunlight_propagates = true, paramtype = 'light', walkable = false, - silktouch = false, +-- silktouch = false, light_source = 4, - groups = { snappy = 1, fungi = 1, flammable = 1, attached_node = 1}, + groups = { snappy = 1, fungi = 1, flammable = 1, attached_node = 1, natdecay = 1}, sounds = nodecore.sounds("nc_terrain_swishy"), buildable_to = true, - drop = "nc_nature:plant_fibers", +-- drop = "nc_nature:plant_fibers", selection_box = { type = "fixed", fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 4 / 16, 6 / 16}, @@ -158,6 +165,19 @@ minetest.register_node("nc_nature:mossy_dirt", { minetest.register_node("nc_nature:mossy_bricks", { description = "Mossy Stone Bricks", tiles = {"nc_nature_mossy_stonebrick.png"}, + drop_in_place = "nc_stonework:bricks", + groups = { + stone = 1, + rock = 1, + snappy = 1, + brick = 1, + mossy = 1 + }, + sounds = nodecore.sounds("nc_terrain_stony") + }) +minetest.register_node("nc_nature:mossy_bricks_bonded", { + description = "Mossy Bonded Stone Bricks", + tiles = {"nc_nature_mossy_stonebrick.png"}, drop_in_place = "nc_stonework:bricks_bonded", groups = { stone = 1, @@ -171,16 +191,28 @@ minetest.register_node("nc_nature:mossy_bricks", { ---------------------------------------- --------------MOSS GROWTH--------------- +--Thanks to Kimapr for helping figure this out-- --cobble-- -nodecore.register_limited_abm({ +nodecore.register_limited_abm({ --notes about this line of code, label = "moss spread cobble", nodenames = {"nc_terrain:cobble"}, neighbors = {"group:mossy"}, interval = 10, chance = 20, action = function(pos) - nodecore.set_node(pos, {name = modname .. ":mossy_cobble"}) + local good = false + for _,dir in ipairs(nodecore.dirs()) do + local posn = vector.add(pos,dir) + local node = minetest.get_node(posn) + if breathable[minetest.registered_items[node.name].drawtype] then + good = true + break + end + end + if good then + nodecore.set_node(pos, {name = modname .. ":mossy_cobble"}) + end end }) @@ -190,11 +222,21 @@ nodecore.register_limited_abm({ nodenames = {"nc_terrain:stone"}, neighbors = {"group:mossy"}, interval = 10, - chance = 10, + chance = 20, action = function(pos) - nodecore.set_node(pos, {name = modname .. ":mossy_stone"}) + local good = false + for _,dir in ipairs(nodecore.dirs()) do + local posn = vector.add(pos,dir) + local node = minetest.get_node(posn) + if breathable[minetest.registered_items[node.name].drawtype] then + good = true + break + end + end + if good then + nodecore.set_node(pos, {name = modname .. ":mossy_stone"}) + end end --- end }) --thatch-- @@ -203,9 +245,20 @@ nodecore.register_limited_abm({ nodenames = {"nc_nature:thatch"}, neighbors = {"group:mossy"}, interval = 10, - chance = 10, + chance = 20, action = function(pos) - nodecore.set_node(pos, {name = modname .. ":mossy_thatch"}) + local good = false + for _,dir in ipairs(nodecore.dirs()) do + local posn = vector.add(pos,dir) + local node = minetest.get_node(posn) + if breathable[minetest.registered_items[node.name].drawtype] then + good = true + break + end + end + if good then + nodecore.set_node(pos, {name = modname .. ":mossy_thatch"}) + end end }) @@ -215,9 +268,20 @@ nodecore.register_limited_abm({ nodenames = {"nc_tree:tree"}, neighbors = {"group:mossy"}, interval = 10, - chance = 10, + chance = 20, action = function(pos) - nodecore.set_node(pos, {name = modname .. ":mossy_trunk"}) + local good = false + for _,dir in ipairs(nodecore.dirs()) do + local posn = vector.add(pos,dir) + local node = minetest.get_node(posn) + if breathable[minetest.registered_items[node.name].drawtype] then + good = true + break + end + end + if good then + nodecore.set_node(pos, {name = modname .. ":mossy_trunk"}) + end end }) @@ -227,21 +291,64 @@ nodecore.register_limited_abm({ nodenames = {"nc_terrain:dirt"}, neighbors = {"group:mossy"}, interval = 10, - chance = 10, + chance = 20, action = function(pos) - nodecore.set_node(pos, {name = modname .. ":mossy_dirt"}) + local good = false + for _,dir in ipairs(nodecore.dirs()) do + local posn = vector.add(pos,dir) + local node = minetest.get_node(posn) + if breathable[minetest.registered_items[node.name].drawtype] then + good = true + break + end + end + if good then + nodecore.set_node(pos, {name = modname .. ":mossy_dirt"}) + end end }) --stonebricks-- nodecore.register_limited_abm({ - label = "moss spread stonebricks", - nodenames = {"group:brick"}, + label = "moss spread stacked stonebricks", + nodenames = {"nc_stonework:bricks"}, neighbors = {"group:mossy"}, interval = 10, - chance = 10, + chance = 20, action = function(pos) - nodecore.set_node(pos, {name = modname .. ":mossy_stonebrick"}) + local good = false + for _,dir in ipairs(nodecore.dirs()) do + local posn = vector.add(pos,dir) + local node = minetest.get_node(posn) + if breathable[minetest.registered_items[node.name].drawtype] then + good = true + break + end + end + if good then + nodecore.set_node(pos, {name = modname .. ":mossy_bricks"}) + end + end + }) +nodecore.register_limited_abm({ + label = "moss spread bonded stonebricks", + nodenames = {"nc_stonework:bricks_bonded"}, + neighbors = {"group:mossy"}, + interval = 10, + chance = 20, + action = function(pos) + local good = false + for _,dir in ipairs(nodecore.dirs()) do + local posn = vector.add(pos,dir) + local node = minetest.get_node(posn) + if breathable[minetest.registered_items[node.name].drawtype] then + good = true + break + end + end + if good then + nodecore.set_node(pos, {name = modname .. ":mossy_bricks_bonded"}) + end end }) diff --git a/plants.lua b/plants.lua index 160a48b..9deebba 100644 --- a/plants.lua +++ b/plants.lua @@ -6,29 +6,7 @@ local modname = minetest.get_current_modname() ---------------------------------------- -----------------GRASS------------------ -minetest.register_node("nc_nature:grass_1", { - description = ("Grass"), - drawtype = "plantlike", - waving = 1, - tiles = {"nc_nature_grass_1.png"}, - -- Use texture of a taller grass stage in inventory - inventory_image = "nc_nature_grass_3.png", - wield_image = "nc_nature_grass_3.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - silktouch = false, - drop = "nc_nature:plant_fibers", - groups = {snappy = 1, flora = 1, attached_node = 1, grass = 1, flammable = 1}, - sounds = nodecore.sounds("nc_terrain_swishy"), - selection_box = { - type = "fixed", - fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -5 / 16, 6 / 16}, - }, -}) - -for i = 2, 5 do +for i = 1, 5 do minetest.register_node("nc_nature:grass_" .. i, { description = ("Grass"), drawtype = "plantlike", @@ -66,9 +44,9 @@ minetest.register_node("nc_nature:reeds", { sunlight_propagates = true, walkable = false, buildable_to = true, - silktouch = false, - groups = {snappy = 1, flora = 1, flammable = 3, attached_node = 1}, - drop = "nc_nature:plant_fibers", +-- silktouch = false, + groups = {snappy = 1, flora = 1, flammable = 3, attached_node = 1, natdecay = 1}, +-- drop = "nc_nature:plant_fibers", sounds = nodecore.sounds("nc_terrain_swishy"), selection_box = { type = "fixed", @@ -107,7 +85,8 @@ minetest.register_node("nc_nature:shrub", { falling_repose = 1, green = 1, stack_as_node = 1, - shrub = 1 + shrub = 1, + natdecay = 1 } }, no_repack = true, @@ -118,7 +97,7 @@ nodecore.register_limited_abm({ label = "Shrub Rerooting", nodenames = {modname .. ":shrub_loose"}, neighbors = {"group:soil"}, - interval = 10, + interval = 2, chance = 10, action = function(pos) nodecore.set_loud(pos, {name = modname .. ":shrub"}) @@ -173,11 +152,11 @@ minetest.register_node(modname .. ":fern", { sunlight_propagates = true, paramtype = 'light', walkable = false, - silktouch = false, - groups = { snappy = 1, flora = 1, flammable = 2, attached_node = 1}, +-- silktouch = false, + groups = { snappy = 1, flora = 1, flammable = 2, attached_node = 1, natdecay = 1}, sounds = nodecore.sounds("nc_terrain_swishy"), buildable_to = true, - drop = "nc_nature:plant_fibers", +-- drop = "nc_nature:plant_fibers", selection_box = { type = "fixed", fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 4 / 16, 6 / 16}, @@ -243,14 +222,16 @@ function register_flower(id, desc) drawtype = 'plantlike', waving = 1, tiles = {modname .. "_flower_" .. id .. ".png"}, + wield_image = {modname .. "_flower_" .. id .. ".png"}, + inventory_image = {modname .. "_flower_" .. id .. ".png"}, sunlight_propagates = true, paramtype = 'light', walkable = false, - silktouch = false, - groups = { snappy = 1, flora = 1, flammable = 1, attached_node = 1}, +-- silktouch = false, + groups = { snappy = 1, flora = 1, flammable = 1, attached_node = 1, natdecay = 1}, sounds = nodecore.sounds("nc_terrain_swishy"), buildable_to = true, - drop = "nc_nature:plant_fibers", +-- drop = "nc_nature:plant_fibers", selection_box = { type = "fixed", fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 4 / 16, 6 / 16}, @@ -262,4 +243,40 @@ register_flower("red", "Red") register_flower("violet", "Violet") register_flower("white", "White") register_flower("yellow", "Yellow") + ---------------------------------------- +---------------STARFLOWER--------------- +minetest.register_node(modname .. ":starflower", { + description = "Starflower", + drawtype = 'plantlike', + waving = 1, + tiles = {modname .. "_starflower.png"}, + wield_image = {modname .. "_starflower.png"}, + inventory_image = {modname .. "_starflower.png"}, + sunlight_propagates = true, + paramtype = 'light', + light_source = 7, + walkable = false, + groups = { snappy = 1, flora = 1, flammable = 1, attached_node = 1, natdecay = 1}, + sounds = nodecore.sounds("nc_terrain_swishy"), + buildable_to = true, + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 4 / 16, 6 / 16}, + }, +}) + +---------------------------------------- +-----------------Decay------------------ +-----Plant Decay----- +nodecore.register_aism({ + label = "Plant Stack Decay", + interval = 2, + chance = 10, + itemnames = {"group:natdecay"}, + action = function(stack, data) + minetest.sound_play("nc_terrain_swishy", {gain = 0.4, pos = data.pos}) + stack:set_name(modname .. ":plant_fibers") + return stack + end + }) diff --git a/schematic.lua b/schematic.lua index 782ddcb..55fb662 100644 --- a/schematic.lua +++ b/schematic.lua @@ -43,6 +43,13 @@ local lowboulder = { ".sss.", "..c..", } +local rareslice = { + ".....", + ".sss.", + ".sos.", + ".sss.", + ".....", +} local midboulder = { ".....", "..s..", @@ -57,11 +64,20 @@ local topboulder = { ".....", ".....", } +local mossboulder = { + ".....", + ".....", + "..m..", + ".....", + ".....", +} nodecore.boulder_params = { - {}, - {}, - {prob = 160} + {prob = 255}, + {prob = 100}, + {prob = 255}, + {prob = 100}, + {prob = 200}, } nodecore.boulder_schematic = nodecore.ezschematic( @@ -69,19 +85,23 @@ nodecore.boulder_schematic = nodecore.ezschematic( ["."] = {name = "air", prob = 0}, s = {name = "nc_terrain:stone", prob = 255}, c = {name = "nc_terrain:cobble", prob = 160}, + m = {name = "nc_nature:mossy_stone", prob = 255}, + o = {name = "nc_lode:ore", prob = 255}, }, { lowboulder, + rareslice, midboulder, topboulder, - topboulder + mossboulder }, { yslice_prob = { {ypos = 1, prob = 255}, - {ypos = 2, prob = 160}, - {ypos = 3, prob = 160}, - {ypos = 4, prob = 160}, + {ypos = 2, prob = 100}, + {ypos = 3, prob = 225}, + {ypos = 4, prob = 100}, + {ypos = 5, prob = 200}, } } ) diff --git a/textures/nc_nature_decayed_log_side.png b/textures/nc_nature_decayed_log_side.png index 7b24634775fed1422dd8d27632390b115b57e3ec..30d41a28d5f62c06091a3b0e724fa4d3c38f091a 100644 GIT binary patch delta 253 zcmey*vXW_n1SbnK0|Ud`yN`kEF=gG$p$CFNUK9rIu`Ol51-G*mj8F(?6x#@i zuWu)`A?)R~!E)4*5WUEfB!Hk0G|0DD=$}tp??Y7pW3$R-ZZ_<2X7Htd{0{>Cf$07!9mPqMu5D z=b3~H_8AFNQe1C}+4|-@KzN>ODaANh;4`JH1JE&CLh?&U%8k%}bq@{8LPx@I6=2=o zt4Nkl@8-r3-?_e;=jE%tXOw?ZW3+APd_3xjf?gqQmdMlvam77FKI*bYpFcFhK}Y!W?%0_WJ&p!&}#eR+R*rrcE3A?$OUo*Gj6Y zsEX+fY&y@gN|t|RQSKj{a3Opz2%><{*5qZGSF$#yk}}H{=VzmHSe?I^j;E^b%v!6h zgc%6%AOfE|ywMhlLFKBF##;E4l5?OYU+B6vx^7#l8$!ZRU__Ntx`FwMF3`HGs&(5U zxT7lBG*&8Ybv;b|t|iJShP`P47b>F`wg0Ullp>5EDY$>jTwW|LTXG#%8_R$Y#yaW= zaUBPe5P-QZrw$x;!!XYEWlORuICtThf*|lXhnoZ=gj#|yWQ5Nt#-7h7+=&l}dhzrLJUe2vl6Gx%1!FSH3htoBng;XMswj$HzJ3D;cz1IECytI!K*mCd w(?287IgAXF2EVrCji#N*Z(d0u5Mlfm=y`eUy9N&FumAu607*qoM6N<$f{L9z_y7O^ delta 684 zcmV;d0#p6D8qXTAunK>QNklPh_+jny-_!7I>O}SY@{2N-L2N{&W2?gq9{ThT@#aJNy;U0f3FSE zs=^MB&c-wE==9g<){F0B#|<$;z86^af1LhcObFukx{Z!)9Uh+_|F|B_7E{Mhvn+}q zX7k`~5v`k*V8wqKPwy5>%<()2CCUm*3*-gSaOAjtkDRl?RFb7tcPQ{Z z(%ovV*GhSgzMb^v9!QbJ@k3D*NtP2rFh*Hcc#E*C$>YiFepwJz5ICGq=i$ZGEJ?E@ zN%Nurq2NHYDA0JB+`55YDajH&KJ7o&)3gk5a3JBMra6BCLXmTrg9}m!0?%=rrpZAN zYMR287zXJ5o4saT2M14hN(t~OK}-@b!m=cE+jUi>Fpyiv=TyA{secbAy)8?iJVze? zq&yJ>u|P-^>GPibv|~0K2H&T3SZ<*qN{pQ znihl!wA+6%VJ@v^wMa9qB#V>=VXUd_*^`!SRZOF_*=fw(VBrN{4$n!)uA?-8Ze_*} zUToV9W4mo;N&5EX?yLPBt5&w#)?_jt3`ej|5|42S;(F^9P5QfhAO$oBzW=-U*8sV= z@vCKqKYcj3yu1QPTT_NtckNE~=lQf&V^Ng18s#Ju;rl47n`J)?Pru)6cJx09aV_SP^(5C?bgOA-sj-`ywGE z{s##u5)V8rhtE_1StSlm(bau?N{hm zWb>szg6KoW<@H47=M$Kukv1$B0!IplEUZ^h$Z*Qw?D+yO-&e<5cMLAx&BRVLloi-# z7Wt=wR0&NvL69|4G#J_e%5e{Yw6zG!9^Y?TwPPTf2MdE772Gd_PPK5_U^(2wv*nlu zI8?BeLKp}zaBqJydj>Dw)>2LjXx^e5(j`#hqkP$+ye({=;qv2D=8HK%nvp#w+9sKqx{U6GrN_6M_0IcoLdQJDIGy`Bpg6s35NA}p zO}xEFj1f5ps?I$2c!=@Pzhixz#Ea`njCGhlZP=%WQdE2hT+yhV!rkw1@_#r&-`;rD zuXr;plOj&i`v^n#9o=X(J^N2Q`k7u`%_P#+dS;I*2o|08(e zg%@53YEf)!ZFiGRJXxy!QxF9Ygn^uyZzi)VLJ0VaB+V4o_Yy!?d2V{W2oN+!;~c?wsEt`C)e?Wf^RCDp)LK=dJ|_7D zBrR!`5fCX)A|Nw1V`216U1R^WjpOrObWfV}c_~m$@%bO9rU=b$4W_M$7f6go?`D8h zC)j3@u1V-bL2wg~w?jN!4d9-Gm;pG_`ew?m5}^cw4=|ZVeX|B{J*1LI2=VlK1Pt#c za8FAB!3VAFB(Q&$SyZ&*>ZO)Y9DC=eRZVe!-H(9M^#h$b1yy&1TJw}6q;|FL$VqRHzcFr;BTgUEkm5YEV zF4Jlwb^9>GMmK{UJB(i}@)6@R*s#sip-BtG{tx-vWLn Z;2rNbuPpO!Yt;Y%002ovPDHLkV1lO|!!Q5< diff --git a/textures/nc_nature_lilypad_bottom.png b/textures/nc_nature_lilypad_bottom.png index 1f23a016ccbd7e62acd2f9261ba0ca5975642dd8..97137c889dedfc31d54b9f8b99c192b990e5e4ac 100644 GIT binary patch delta 696 zcmV;p0!RIq8QL1KuL^$xl}SWFR5(v{lih0+R~W{BXXecJ&TclFrb(l*G*&M~?AMi2 zVlWp4KPVLS%G>^3T0tych^QC>VtdmM=tVCB#p*&an(S_7W+!uI=Jf1tB8{;R48!3) z=Xu`udEZxPt$81gUJiBGa!C8T2rORQ%fw#j01gp+ayizes9ArhGJc+(W+mU^ffJ#2 z>T&#CB5UtI#*s^&j%Ho_8Nt(bgYS=aSdUv+-bCbmS-d6q_^Pj$Re=l~L@Bvp2)f-a z%gKN*o@aZv4r5%x(s!};jH(^@9Q$dLg#~b3cxc5&-KOr>Z2Z_ipg!_wl+h#uN8^bG zUv6yj{7jq0#W{c0e3QE6;J6aYozy?V=;7$wJ0gx;3iL&9$oh;?%WSIJ;`3Kq%+H4? zrC5tv3|{3(56aBK{jj1GC1i4JtYu@9Bv2`vb7>Fh*ZkUd>+?>l--JWqiYuDNShlP>I!^3v5vUohjl)`-zcaCR`D(+Rlm zOP05Gc-H;^RSXSb$X374-#_Hzxj3*3$FE0PhXO~MSR(msv&SzV#khgT$v!l7;4$7tF--$7S3 eg{uB%o#9^y92ea&D-iSm0000G@f1?;Kiq} z6$$Y_$J+u_wR(1^&jy35NRkv=CPGzO2XFpTlxa)mrEu(me9%4&emw&^?;Xo%fg(J!&JB zt8zxUSzC)Y4B9i*7_1WeYD&EKV3TqGLjX&c7_8uP4hYa?3@YMe%H pP|e!*Z+^kSS+U^YtT?9t@EgE6)OD+}D@FhS002ovPDHLkV1lny=+poJ diff --git a/textures/nc_nature_reeds.png b/textures/nc_nature_reeds.png index fe124c7faa4330f7ab2c96f723c25c8618ed7eed..d9d0694620c1f4030f33631c84fb1ce805c1100e 100644 GIT binary patch delta 627 zcmV-(0*w8E9F`ieuL^$xQAtEWR5(v{QtwYvQ5b$MKZ-<<$px|aA?XFp0V|tQgS9Me z^}+g3ZP}_1eMnoM`qI|N{)qY~`VVMrjmpu;nrx0jQ6U6kfMiYt-07ZkFPQ80Y-i8= zKJPitdEc`GLWttJ?mH%ua_#S>f&%UYd6Fq|cyvV|vh-gl8f1TqEeHd8EG0K(Z!+3H{ARiWUxOd({6b;rgRhSGqBvQ&9tYjZVqj}K5 z{ZL zd>w-hlh{dJGFX4lw{RioLONGx8z@Gm`VfBXV22)Fw3FP=X6J&%!XCHqC68#j!ZCxu zuo)lY8*tgQG-Y@f$szhO%SKq;*oJ?^hJ2~TY81`~Jp5Be=@E<721W%FYIW&J=*?GW z1Qt{HPuUPp6yOt0+K9#SSc?4OIzK8fU=r!zhuwbR?c{%B{aP|N?Iz=P9n*#`b&;9p zP8Lg7iWr>kW*nZE<}R&!vJv*@Qtq2-NUrBR2 zM~_ls+L>t+8NBIWxkuhV?CWMV)?#ShP8=Z(q1?``VKs~C3eVZe#H^cm#Mawd&p0Il zZsM7XG}3Do1Sba&dA$nrSqo@>MEuU`y%zGzTd_&jsYw;;jf}vLp-R~w!m3>gX-=cx3N5u?jt!Y#+fA`ULP!;XL{Td$ zk7qH)^C&7Ebjm@i=W9h|f}u&h1> zV8HutUlg@w54#(x2!jZmbId(5Jaf?N**N&M0UkxDH3yhXTtu{vA94lPR1H7=egvIL z`}_GB7-vaEu~B~*hKXTiHHBu+#Y$RB_Qg^G#bN=4VjeuC9@lav4v!qhCK0Y7Ai45jU=NNudr+Ermgd^BoNmmq3h@|1Xs?aHf8& z&VRBEwiSOY7JfWSu!AKw@gw|sGG>gNWLZY3N+Uy=;}+_6!0eHSTGwSvY!^^+oAaR%MmMA z%p`NRtm3`TUlqsCrr7(WEXI8$Q7W@4;nMxI;A`tCY~ImDyFSCyuRIo4Lv5nh_VCWf zB{8-m_@R%rO%+eRAHm4Y6DGdDz+aDtjG3m6YmaiGSs!53mvCh-hvR>S=(j^elu42m zxSd!9mWmQqt1{XRk8Y~+e|03lrMoHd!{Z+8lL$Lk4IF&aL3L{d7dH*M$`SHqVB?yO qH}XuL^$x%t=H+R5(u^lSywAK@f#s^(>wlFJn7az#)K8l$_v%;L1Nh z;>3XiKbTXlED}o=JGL{i$FomQ@f=@T)^t_9_q}R){t+7Y0o()O09aYb(1ZG;p_I#1 z^8~OCFqwO}`O#o<1gTo6>p-l9n%x?xb0F`4^%~ONL8HLHG?jl2CJ^TsSY890MFS^< zEN-Dq4=6I|XC-yEPC3}R@>{}n$c3&Lfi zo@=B}JJS&bj~#7Gh?&In76OBrC-WE3@sv=dLrS=&Ae#n~?0}hpxUTAKT1(TP2D~tD_79PtwnE4iw4-HCF#(6+0h>)=DwJOlQUBGC@V`LBSsbRvcqT%WiwR- z9x#7OYmBONcfjR0NN;3xdgj9t z=q}yk=VgDZrXi?5zc`)e`B^Mk>f^8$FHR@8r^nh_eGEK;j>eJv{a&MBVlEZ)C-U~Q zuf}%REL)T*7v}wuw8>7hqLGdsb0%Q8x(*e!EHr#8X-TCWfiqH5?`tgAEj-%j4U(sVakvIX-avxIkjI(BvN(T|=J?J?S14 h6`5>Sd}wYi{{fR+Zj&cb42J*!002ovPDHLkV1hSEUPb@_ delta 491 zcmVVuL^$w%1J~)R5(vnl1obiK@fy%mnita6XF(A0;40!t5e&pc6BHx9&cuCRCq0~Jr zt%U{En=d-8wbVB+ecel4Ju0<76tTWnk~N=l<7btE?5bi&?M8n>OfKd!IZN)HOv#A6 zoy)|=W~AFF6;lF4LN2FPWC;W=2UBONg7g=)>oks;BP?!8SG(x}G0I|3ONbJK(Y1kjW~h^!3q#_Rgy2&V~1kBhG+UsghPOKqMr2d#P-LLz&AUs|X?@BvS<-#*kf* z%0f1kYD15$59@!AOPl}+?0t~@CJTAZKIF`uc1!^GdjF>>`-`{;ZMX;(x*7X}oupc3 zz=5(MlCZd;=&qR#mlgq{{*?X4IbD3WjB7I>0g?~xEpFQ1A4MnO+eF$WY8AlcvF7>} diff --git a/textures/nc_nature_starflower.png b/textures/nc_nature_starflower.png new file mode 100644 index 0000000000000000000000000000000000000000..c387ba3b6bae29d14dace10d7ad171a089c46bbc GIT binary patch literal 572 zcmV-C0>k}@P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TGkUj?}6eV`~iq-I};dz6sij2MPxnuL64K-1*1< zp94A1FF*Z%pn4IIg{cl}AWjErmKK#|cw->LaDK{0h8sFk3}S-P3>$&sP$h7H5{Mws z1XQFA^y}AGj~GA!DkCn>aQo#$22j{Y0>$qE#Z!>NfCWm!!EYdb08~^ARpgqg@_+a2 zJ7D$%py42S6oBq07!EHt15*DPR9u+BG%k$c1NQ4f zZ!WO-)vezUQ3wPmfe6z4{P}Z+*RNkQu(Gl;{Qmu$!PwZC!6`}cKL-Z~Sj;3u7{x{m z7r=mVu+aaXKYuc4X=#C7bA0&=u+4UHvj0H_!}vJ!!r8U&z=jJ73c?kG02><{3LmEn zKmg?2fB*h5oLl!E#ox#Prwe>@b^a?WD>MB0^M}DaTnvXT3=9Bw{#0SY>p0y20000< KMNUMnLSTZiQ15L3 literal 0 HcmV?d00001