diff --git a/mods/default/README.txt b/mods/default/README.txt index d27e8a87..f749b0e3 100644 --- a/mods/default/README.txt +++ b/mods/default/README.txt @@ -218,6 +218,9 @@ tobyplowy (CC BY-SA 3.0): CloudyProton (CC BY-SA 3.0): default_book_written.png, based on default_book.png by Gambit +Mossmanikin (CC BY-SA 3.0): + default_fern_*.png + Glass breaking sounds (CC BY 3.0): 1: http://www.freesound.org/people/cmusounddesign/sounds/71947/ 2: http://www.freesound.org/people/Tomlija/sounds/97669/ diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua index 2d11d26c..dd91ad42 100644 --- a/mods/default/crafting.lua +++ b/mods/default/crafting.lua @@ -1098,6 +1098,12 @@ minetest.register_craft({ burntime = 2, }) +minetest.register_craft({ + type = "fuel", + recipe = "default:fern_1", + burntime = 2, +}) + minetest.register_craft({ type = "fuel", recipe = "default:paper", diff --git a/mods/default/license.txt b/mods/default/license.txt index ce143ee5..4610bac8 100644 --- a/mods/default/license.txt +++ b/mods/default/license.txt @@ -48,6 +48,7 @@ Copyright (C) 2010-2017: tobyplowy CloudyProton TumeniNodes + Mossmanikin You are free to: Share — copy and redistribute the material in any medium or format. diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index e06d1285..a12fe580 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -1640,6 +1640,26 @@ local function register_dry_grass_decoration(offset, scale, length) }) end +local function register_fern_decoration(seed, length) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_coniferous_litter"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.2, + spread = {x = 100, y = 100, z = 100}, + seed = seed, + octaves = 3, + persist = 0.7 + }, + biomes = {"coniferous_forest"}, + y_min = 6, + y_max = 31000, + decoration = "default:fern_" .. length, + }) +end + function default.register_decorations() @@ -1960,6 +1980,12 @@ function default.register_decorations() register_dry_grass_decoration(0.07, -0.01, 2) register_dry_grass_decoration(0.09, -0.03, 1) + -- Ferns + + register_fern_decoration(14936, 3) + register_fern_decoration(801, 2) + register_fern_decoration(5, 1) + -- Junglegrass minetest.register_decoration({ diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index 25222308..a366892d 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -143,6 +143,10 @@ default:dry_grass_3 default:dry_grass_4 default:dry_grass_5 +default:fern_1 +default:fern_2 +default:fern_3 + default:bush_stem default:bush_leaves default:bush_sapling @@ -1315,6 +1319,58 @@ for i = 2, 5 do end +minetest.register_node("default:fern_1", { + description = "Fern", + drawtype = "plantlike", + waving = 1, + tiles = {"default_fern_1.png"}, + inventory_image = "default_fern_1.png", + wield_image = "default_fern_1.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16}, + }, + + on_place = function(itemstack, placer, pointed_thing) + -- place a random fern node + local stack = ItemStack("default:fern_" .. math.random(1, 3)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("default:fern_1 " .. + itemstack:get_count() - (1 - ret:get_count())) + end, +}) + +for i = 2, 3 do + minetest.register_node("default:fern_" .. i, { + description = "Fern", + drawtype = "plantlike", + waving = 1, + visual_scale = 2, + tiles = {"default_fern_" .. i .. ".png"}, + inventory_image = "default_fern_" .. i .. ".png", + wield_image = "default_fern_" .. i .. ".png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, + not_in_creative_inventory=1}, + drop = "default:fern_1", + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16}, + }, + }) +end + + minetest.register_node("default:bush_stem", { description = "Bush Stem", drawtype = "plantlike", diff --git a/mods/default/textures/default_fern_1.png b/mods/default/textures/default_fern_1.png new file mode 100644 index 00000000..b307986d Binary files /dev/null and b/mods/default/textures/default_fern_1.png differ diff --git a/mods/default/textures/default_fern_2.png b/mods/default/textures/default_fern_2.png new file mode 100644 index 00000000..6c5f7d54 Binary files /dev/null and b/mods/default/textures/default_fern_2.png differ diff --git a/mods/default/textures/default_fern_3.png b/mods/default/textures/default_fern_3.png new file mode 100644 index 00000000..2c1f605e Binary files /dev/null and b/mods/default/textures/default_fern_3.png differ diff --git a/mods/farming/nodes.lua b/mods/farming/nodes.lua index 1e746ecd..c85c7c87 100644 --- a/mods/farming/nodes.lua +++ b/mods/farming/nodes.lua @@ -30,6 +30,14 @@ minetest.override_item("default:dirt_with_rainforest_litter", { } }) +minetest.override_item("default:dirt_with_coniferous_litter", { + soil = { + base = "default:dirt_with_coniferous_litter", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + minetest.register_node("farming:soil", { description = "Soil", tiles = {"default_dirt.png^farming_soil.png", "default_dirt.png"}, diff --git a/mods/flowers/mapgen.lua b/mods/flowers/mapgen.lua index b13c9731..c8cc604f 100644 --- a/mods/flowers/mapgen.lua +++ b/mods/flowers/mapgen.lua @@ -84,7 +84,7 @@ end local function register_flower(seed, name) minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_grass", "default:dirt_with_coniferous_litter"}, + place_on = {"default:dirt_with_grass"}, sidelen = 16, noise_params = { offset = -0.02, @@ -94,8 +94,7 @@ local function register_flower(seed, name) octaves = 3, persist = 0.6 }, - biomes = {"grassland", "deciduous_forest", "coniferous_forest", - "floatland_grassland"}, + biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, y_min = 1, y_max = 31000, decoration = "flowers:"..name,