diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index 660e0a12..661c8a0c 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -330,9 +330,9 @@ function default.register_biomes() depth_filler = 3, node_stone = "default:ice", node_water_top = "default:ice", - depth_water_top = 8, + depth_water_top = 10, --node_water = "", - y_min = -6, + y_min = -8, y_max = 31000, heat_point = -5, humidity_point = 50, @@ -341,16 +341,16 @@ function default.register_biomes() minetest.register_biome({ name = "glacier_ocean", node_dust = "default:snowblock", - node_top = "default:sand", + node_top = "default:gravel", depth_top = 1, - node_filler = "default:sand", + node_filler = "default:gravel", depth_filler = 2, --node_stone = "", --node_water_top = "", --depth_water_top = , --node_water = "", y_min = -112, - y_max = -7, + y_max = -9, heat_point = -5, humidity_point = 50, }) @@ -734,7 +734,7 @@ function default.register_mgv6_decorations() y_max = 1, decoration = "default:papyrus", height = 2, - height_max = 4, + height_max = 4, spawn_by = "default:water_source", num_spawn_by = 1, }) @@ -828,14 +828,14 @@ local function register_grass_decoration(offset, scale, length) }) end -local function register_dry_grass_decoration(length) +local function register_dry_grass_decoration(offset, scale, length) minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_dry_grass"}, sidelen = 16, noise_params = { - offset = 0.04, - scale = 0.02, + offset = offset, + scale = scale, spread = {x=200, y=200, z=200}, seed = 329, octaves = 3, @@ -914,8 +914,8 @@ function default.register_decorations() place_on = {"default:dirt_with_dry_grass"}, sidelen = 80, noise_params = { - offset = 0.001, - scale = 0.0015, + offset = 0, + scale = 0.003, spread = {x=250, y=250, z=250}, seed = 2, octaves = 3, @@ -1003,11 +1003,11 @@ function default.register_decorations() -- Dry grasses - register_dry_grass_decoration(5) - register_dry_grass_decoration(4) - register_dry_grass_decoration(3) - register_dry_grass_decoration(2) - register_dry_grass_decoration(1) + register_dry_grass_decoration(0.01, 0.05, 5) + register_dry_grass_decoration(0.03, 0.03, 4) + register_dry_grass_decoration(0.05, 0.01, 3) + register_dry_grass_decoration(0.07, -0.01, 2) + register_dry_grass_decoration(0.09, -0.03, 1) -- Junglegrass diff --git a/mods/default/schematics/acacia_tree.mts b/mods/default/schematics/acacia_tree.mts index 986c022d..43e7867a 100644 Binary files a/mods/default/schematics/acacia_tree.mts and b/mods/default/schematics/acacia_tree.mts differ diff --git a/mods/flowers/init.lua b/mods/flowers/init.lua index 07507332..6b00afb2 100644 --- a/mods/flowers/init.lua +++ b/mods/flowers/init.lua @@ -1,21 +1,29 @@ -- Minetest 0.4 mod: default -- See README.txt for licensing and other information. + -- Namespace for functions + flowers = {} -- Map Generation + dofile(minetest.get_modpath("flowers") .. "/mapgen.lua") +-- +-- Flowers +-- + -- Aliases for original flowers mod -minetest.register_alias("flowers:flower_dandelion_white", "flowers:dandelion_white") -minetest.register_alias("flowers:flower_dandelion_yellow", "flowers:dandelion_yellow") -minetest.register_alias("flowers:flower_geranium", "flowers:geranium") + minetest.register_alias("flowers:flower_rose", "flowers:rose") minetest.register_alias("flowers:flower_tulip", "flowers:tulip") +minetest.register_alias("flowers:flower_dandelion_yellow", "flowers:dandelion_yellow") +minetest.register_alias("flowers:flower_geranium", "flowers:geranium") minetest.register_alias("flowers:flower_viola", "flowers:viola") +minetest.register_alias("flowers:flower_dandelion_white", "flowers:dandelion_white") -- Flower registration @@ -61,88 +69,6 @@ for _,item in pairs(flowers.datas) do end --- Mushrooms - -local mushrooms_datas = { - {"brown", 2}, - {"red", -6} -} - -for _, m in pairs(mushrooms_datas) do - local name, nut = m[1], m[2] - - -- Register mushrooms - - minetest.register_node("flowers:mushroom_" .. name, { - description = string.sub(string.upper(name), 0, 1) .. - string.sub(name, 2) .. " Mushroom", - tiles = {"flowers_mushroom_" .. name .. ".png"}, - inventory_image = "flowers_mushroom_" .. name .. ".png", - wield_image = "flowers_mushroom_" .. name .. ".png", - drawtype = "plantlike", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - groups = {snappy = 3, flammable = 3, attached_node = 1}, - drop = { - items = { - {items = {"flowers:spores_" .. name}, rarity = 2,}, - {items = {"flowers:spores_" .. name}, rarity = 2,}, - {items = {"flowers:spores_" .. name}, rarity = 2,}, - {items = {"flowers:mushroom_" .. name},}, - }, - }, - sounds = default.node_sound_leaves_defaults(), - on_use = minetest.item_eat(nut), - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} - } - }) - - -- Register spores - - minetest.register_node("flowers:spores_" .. name, { - description = string.sub(string.upper(name), 0, 1) .. - string.sub(name, 2) .. " Mushroom Spores", - drawtype = "signlike", - tiles = {"flowers_spores_" .. name .. ".png"}, - inventory_image = "flowers_spores_" .. name .. ".png", - wield_image = "flowers_spores_" .. name .. ".png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - selection_box = { - type = "wallmounted", - }, - groups = {dig_immediate = 3, attached_node = 1}, - }) - - -- Register growth ABMs - - minetest.register_abm({ - nodenames = {"flowers:spores_" .. name}, - interval = 14, - chance = 25, - action = function(pos, node) - local node_under = minetest.get_node_or_nil({x = pos.x, - y = pos.y - 1, z = pos.z}) - if not node_under then - return - end - if minetest.get_item_group(node_under.name, "soil") ~= 0 and - minetest.get_node_light(pos, nil) <= 13 then - minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, - {name = "flowers:mushroom_" .. name}) - end - end - }) -end - - -- Flower spread minetest.register_abm({ @@ -190,3 +116,91 @@ minetest.register_abm({ end end, }) + + +-- +-- Mushrooms +-- + +local mushrooms_datas = { + {"brown", 2}, + {"red", -6} +} + +for _, m in pairs(mushrooms_datas) do + local name, nut = m[1], m[2] + + -- Register mushrooms + + minetest.register_node("flowers:mushroom_" .. name, { + description = string.sub(string.upper(name), 0, 1) .. + string.sub(name, 2) .. " Mushroom", + tiles = {"flowers_mushroom_" .. name .. ".png"}, + inventory_image = "flowers_mushroom_" .. name .. ".png", + wield_image = "flowers_mushroom_" .. name .. ".png", + drawtype = "plantlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, attached_node = 1}, + drop = { + items = { + {items = {"flowers:mushroom_spores_" .. name}, rarity = 2,}, + {items = {"flowers:mushroom_spores_" .. name}, rarity = 2,}, + {items = {"flowers:mushroom_spores_" .. name}, rarity = 2,}, + {items = {"flowers:mushroom_" .. name},}, + }, + }, + sounds = default.node_sound_leaves_defaults(), + on_use = minetest.item_eat(nut), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + } + }) + + -- Register mushroom spores + + minetest.register_node("flowers:mushroom_spores_" .. name, { + description = string.sub(string.upper(name), 0, 1) .. + string.sub(name, 2) .. " Mushroom Spores", + drawtype = "signlike", + tiles = {"flowers_mushroom_spores_" .. name .. ".png"}, + inventory_image = "flowers_mushroom_spores_" .. name .. ".png", + wield_image = "flowers_mushroom_spores_" .. name .. ".png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + selection_box = { + type = "wallmounted", + }, + groups = {dig_immediate = 3, attached_node = 1}, + }) +end + + +-- Register growing ABM + +minetest.register_abm({ + nodenames = {"flowers:mushroom_spores_brown", "flowers:mushroom_spores_red"}, + interval = 14, + chance = 25, + action = function(pos, node) + local node_under = minetest.get_node_or_nil({x = pos.x, + y = pos.y - 1, z = pos.z}) + if not node_under then + return + end + if minetest.get_item_group(node_under.name, "soil") ~= 0 and + minetest.get_node_light(pos, nil) <= 13 then + if node.name == "flowers:mushroom_spores_brown" then + minetest.set_node(pos, {name = "flowers:mushroom_brown"}) + else + minetest.set_node(pos, {name = "flowers:mushroom_red"}) + end + end + end +}) diff --git a/mods/flowers/mapgen.lua b/mods/flowers/mapgen.lua index 5efea1fe..e2260a92 100644 --- a/mods/flowers/mapgen.lua +++ b/mods/flowers/mapgen.lua @@ -1,4 +1,6 @@ +-- -- Mgv6 +-- local function register_mgv6_flower(name) minetest.register_decoration({ @@ -26,7 +28,7 @@ local function register_mgv6_mushroom(name) sidelen = 16, noise_params = { offset = 0, - scale = 0.006, + scale = 0.04, spread = {x=100, y=100, z=100}, seed = 7133, octaves = 3, @@ -35,6 +37,8 @@ local function register_mgv6_mushroom(name) y_min = 1, y_max = 30, decoration = "flowers:"..name, + spawn_by = "default:tree", + num_spawn_by = 1, }) end @@ -50,7 +54,10 @@ function flowers.register_mgv6_decorations() register_mgv6_mushroom("mushroom_red") end --- All other biome API mapgens (not singlenode) + +-- +-- All other biome API mapgens +-- local function register_flower(seed, name) minetest.register_decoration({ @@ -86,9 +93,9 @@ local function register_mushroom(name) offset = 0, scale = 0.006, spread = {x=200, y=200, z=200}, - seed = 7133, + seed = 2, octaves = 3, - persist = 0.6 + persist = 0.66 }, biomes = {"deciduous_forest", "coniferous_forest"}, y_min = 6, @@ -109,7 +116,10 @@ function flowers.register_decorations() register_mushroom("mushroom_red") end + +-- -- Detect mapgen to select functions +-- -- Mods using singlenode mapgen can call these functions to enable -- the use of minetest.generate_ores or minetest.generate_decorations diff --git a/mods/flowers/textures/flowers_spores_brown.png b/mods/flowers/textures/flowers_mushroom_spores_brown.png similarity index 100% rename from mods/flowers/textures/flowers_spores_brown.png rename to mods/flowers/textures/flowers_mushroom_spores_brown.png diff --git a/mods/flowers/textures/flowers_spores_red.png b/mods/flowers/textures/flowers_mushroom_spores_red.png similarity index 100% rename from mods/flowers/textures/flowers_spores_red.png rename to mods/flowers/textures/flowers_mushroom_spores_red.png