diff --git a/src/mapgen_v6.lua b/src/mapgen_v6.lua index c33e2f3..cbd37c8 100644 --- a/src/mapgen_v6.lua +++ b/src/mapgen_v6.lua @@ -92,6 +92,7 @@ local function define_contents() ignore = minetest.get_content_id("ignore"), stone = minetest.get_content_id("default:stone"), dry_shrub = minetest.get_content_id("default:dry_shrub"), + snow_shrub = minetest.get_content_id("snow:shrub"), leaves = minetest.get_content_id("default:leaves"), jungleleaves = minetest.get_content_id("default:jungleleaves"), junglegrass = minetest.get_content_id("default:junglegrass"), @@ -227,14 +228,14 @@ minetest.register_on_generated(function(minp, maxp, seed) end data[vi] = c.stone end - elseif shrubs - and pr:next(1,28) == 1 then - data[node] = c.dirt_with_snow - data[area:index(x, ground_y+1, z)] = c.dry_shrub elseif pines and pr:next(1,36) == 1 then data[node] = c.dirt_with_snow spawn_pine({x=x, y=ground_y+1, z=z}, area, data) + elseif shrubs + and pr:next(1,928) == 1 then + data[node] = c.dirt_with_snow + data[area:index(x, ground_y+1, z)] = c.dry_shrub else data[node] = c.dirt_with_snow snow_tab[num] = {ground_y, z, x, test} @@ -304,8 +305,6 @@ minetest.register_on_generated(function(minp, maxp, seed) or c_ground == c.jungleleaves or c_ground == c.apple then if alpine then - snow_tab[num] = {ground_y, z, x, test} - num = num+1 -- make stone pillars out of trees for y = ground_y, math.max(-6, minp.y-6), -1 do local stone = area:index(x, y, z) @@ -314,11 +313,10 @@ minetest.register_on_generated(function(minp, maxp, seed) end data[stone] = c.stone end - else - -- put snow onto leaves - snow_tab[num] = {ground_y, z, x, test} - num = num+1 end + -- put snow onto it + snow_tab[num] = {ground_y, z, x, test} + num = num+1 elseif c_ground == c.sand then if icy then data[node] = c.ice @@ -342,9 +340,9 @@ minetest.register_on_generated(function(minp, maxp, seed) elseif is_plantlike(c_ground) then local vi = area:index(x, ground_y-1, z) if data[vi] == c.dirt_with_grass then - -- replace other plants with dry shrubs + -- replace other plants with shrubs data[vi] = c.dirt_with_snow - data[node] = known_plants[c_ground] or c.dry_shrub + data[node] = known_plants[c_ground] or c.snow_shrub end end end diff --git a/src/nodes.lua b/src/nodes.lua index 75d22fe..9f7d36d 100644 --- a/src/nodes.lua +++ b/src/nodes.lua @@ -141,6 +141,8 @@ minetest.register_node("snow:star_lit", nodedef) +-- Plants + -- Moss minetest.register_node("snow:moss", { description = "Moss", @@ -157,6 +159,28 @@ minetest.register_node("snow:moss", { groups = {crumbly=3, attached_node=1}, }) +-- Shrub +minetest.register_node("snow:shrub", { + description = "Snow Shrub", + tiles = {"snow_shrub.png"}, + inventory_image = "snow_shrub.png", + wield_image = "snow_shrub.png", + drawtype = "plantlike", + paramtype = "light", + waving = 1, + sunlight_propagates = true, + walkable = false, + is_ground_content = true, + buildable_to = true, + groups = {snappy=3,flammable=3,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, -5/16, 0.3}, + }, +}) + + if rawget(_G, "flowers") then -- broken flowers diff --git a/textures/character_snow_man_preview.png b/textures/character_snow_man_preview.png index 2316d26..011612b 100644 Binary files a/textures/character_snow_man_preview.png and b/textures/character_snow_man_preview.png differ diff --git a/textures/character_snow_man_preview_back.png b/textures/character_snow_man_preview_back.png index 1d0d8c2..a3492eb 100644 Binary files a/textures/character_snow_man_preview_back.png and b/textures/character_snow_man_preview_back.png differ diff --git a/textures/snow_shrub.png b/textures/snow_shrub.png new file mode 100644 index 0000000..93cca4d Binary files /dev/null and b/textures/snow_shrub.png differ