From 7b3deef14a3d8a9acd95d22c2ac472453eeb5c35 Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Wed, 30 Sep 2015 16:24:13 +0100 Subject: Switched farmed shrooms for default mt shrooms --- README.md | 3 +- mapgen_v7n.lua | 63 ++++++-- mushroom.lua | 250 ++++++++++++++--------------- plantlife.lua | 36 +---- textures/flowers_mushroom_brown.png | Bin 0 -> 155 bytes textures/flowers_mushroom_red.png | Bin 0 -> 167 bytes textures/flowers_mushroom_spores_brown.png | Bin 0 -> 94 bytes textures/flowers_mushroom_spores_red.png | Bin 0 -> 92 bytes 8 files changed, 176 insertions(+), 176 deletions(-) create mode 100644 textures/flowers_mushroom_brown.png create mode 100644 textures/flowers_mushroom_red.png create mode 100644 textures/flowers_mushroom_spores_brown.png create mode 100644 textures/flowers_mushroom_spores_red.png diff --git a/README.md b/README.md index 62d05d0..3852726 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ Ethereal v7 Mapgen mod for Minetest - Added new Glacier biome filled with snow and ice - Changed Mesa biome to have more coloured clay patterns - Changed Bamboo biome to have tall tree-like stalks with leaves that give - bamboo sprouts to grow new stalks + Bamboo sprouts are now saplings to grow new stalks + removed farmed mushrooms and replaced with new default game mushrooms with spores ### 1.16 diff --git a/mapgen_v7n.lua b/mapgen_v7n.lua index bba65f3..75e3056 100644 --- a/mapgen_v7n.lua +++ b/mapgen_v7n.lua @@ -429,7 +429,7 @@ minetest.register_biome({ node_filler = "default:dirt", depth_filler = 5, y_min = 3, - y_max = 61, + y_max = 25, -- was 61 heat_point = 55, humidity_point = 25, }) @@ -668,17 +668,6 @@ minetest.register_decoration({ height_max = 6, }) ---[[ bamboo stalks -minetest.register_decoration({ - deco_type = "simple", - place_on = "ethereal:bamboo_dirt", - sidelen = 80, - fill_ratio = 0.05, - biomes = {"bamboo"}, - decoration = "ethereal:bamboo", - height_max = 5, -})--]] - -- bamboo tree minetest.register_decoration({ deco_type = "schematic", @@ -708,7 +697,6 @@ minetest.register_decoration({ sidelen = 80, fill_ratio = 0.35, biomes = {"bamboo"}, - --decoration = {"ethereal:bamboo_sprout", "default:grass_2", "default:grass_3"}, decoration = {"default:grass_2", "default:grass_3"}, }) @@ -804,14 +792,33 @@ minetest.register_decoration({ height_max = 4, }) --- wild mushroom +-- wild mushrooms minetest.register_decoration({ deco_type = "simple", place_on = "ethereal:mushroom_dirt", sidelen = 80, - fill_ratio = 0.015, + fill_ratio = 0.01, biomes = {"mushroom"}, - decoration = "ethereal:mushroom_plant", + decoration = "flowers:mushroom_fertile_red", +}) + +minetest.register_decoration({ + deco_type = "simple", + place_on = {"ethereal:green_dirt", "ethereal:jungle_dirt", + "ethereal:prairie_dirt", "ethereal:mushroom_dirt"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.009, + spread = {x = 200, y = 200, z = 200}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"junglee", "grassy", "grassytwo", "prairie", "mushroom"}, + y_min = 1, + y_max = 120, + decoration = {"flowers:mushroom_fertile_brown", "flowers:mushroom_fertile_red"}, }) -- jungle grass @@ -968,4 +975,26 @@ minetest.register_decoration({ decoration = "farming:beanbush", }) -end \ No newline at end of file +end + +-- is waterlily in game? +if minetest.registered_nodes["flowers:waterlily"] then + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:sand", "default:dirt"}, + sidelen = 16, + noise_params = { + offset = -0.12, + scale = 0.3, + spread = {x = 200, y = 200, z = 200}, + seed = 33, + octaves = 3, + persist = 0.7 + }, + --biomes = {"junglee", "jumble", "grassy"}, + y_min = 0, + y_max = 0, + schematic = minetest.get_modpath("flowers").."/schematics/waterlily.mts", + rotation = "random", + }) +end diff --git a/mushroom.lua b/mushroom.lua index 31b4e09..2b4703b 100644 --- a/mushroom.lua +++ b/mushroom.lua @@ -1,147 +1,147 @@ --- Mushroom Spores -minetest.register_craftitem("ethereal:mushroom_craftingitem", { - description = "Mushroom Spores", - groups = {not_in_creative_inventory = 1}, - inventory_image = "mushroom_spores.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:mushroom_garden_1") - end, -}) --- Mushroom Plant (Must be farmed to become edible) -minetest.register_node("ethereal:mushroom_plant", { - description = "Mushroom (edible)", - drawtype = "plantlike", - tiles = {"mushroom.png"}, - inventory_image = "mushroom.png", - selection_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} - }, - drop = "ethereal:mushroom_craftingitem", - wield_image = "mushroom.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - groups = {snappy = 2, dig_immediate = 3, flammable = 2}, - sounds = default.node_sound_defaults(), - on_use = minetest.item_eat(1), -}) +-- does flowers:mushroom_red exists? +-- if not then create temporary shroom stuff --- Mushroom Soup (Heals 1 heart) -minetest.register_craftitem("ethereal:mushroom_soup", { - description = "Mushroom Soup", - inventory_image = "mushroom_soup.png", - on_use = minetest.item_eat(2, "ethereal:bowl"), -}) +if minetest.registered_nodes["flowers:mushroom_red"] then -minetest.register_craft({ - output = "ethereal:mushroom_soup", - recipe = { - {"ethereal:mushroom_plant", ""}, - {"ethereal:mushroom_plant", ""}, - {"ethereal:bowl", ""}, - } -}) + print ("[Ethereal] Using current mushrooms in flowers mod") --- Cooked Mushroom Soup (Heals 1 and half heart) -minetest.register_craftitem("ethereal:mushroom_soup_cooked", { - description = "Mushroom Soup Cooked", - inventory_image = "mushroom_soup_cooked.png", - on_use = minetest.item_eat(3, "ethereal:bowl"), -}) +else -minetest.register_craft({ - type = "cooking", - cooktime = 10, - output = "ethereal:mushroom_soup_cooked", - recipe = "ethereal:mushroom_soup" -}) + print ("[Ethereal] Defining temporary mushrooms") --- Define Mushroom growth stages -local ndef = { - drawtype = "plantlike", - tiles = {"ethereal_mushroom_garden_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = { - items = { - {items = {"ethereal:mushroom_craftingitem"},rarity = 1}, - {items = {"ethereal:mushroom_plant"},rarity = 14}, - } - }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5} - }, - groups = { - snappy = 3, flammable = 2, plant = 1, mushroom = 1, - attached_node = 1, growing = 1, not_in_creative_inventory = 1 - }, - sounds = default.node_sound_leaves_defaults(), +-- The following code was taken from minetest 0.4.13's flowers mod +-- incase players are using older version of minetest + +local mushrooms_datas = { + {"brown", 2}, + {"red", -6} } -minetest.register_node("ethereal:mushroom_1", table.copy(ndef)) -ndef.tiles[1] = "ethereal_mushroom_garden_2.png" -ndef.drop.items[2].rarity = 7 -ndef.groups.mushroom = 2 -minetest.register_node("ethereal:mushroom_2", table.copy(ndef)) +for _, m in pairs(mushrooms_datas) do + local name, nut = m[1], m[2] + + -- Register fertile mushrooms (these spawn on map and drop spores) + + minetest.register_node(":flowers:mushroom_fertile_" .. name, { + description = string.sub(string.upper(name), 0, 1) .. + string.sub(name, 2) .. " Fertile 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, + not_in_creative_inventory = 1}, + drop = { + items = { + {items = {"flowers:mushroom_" .. name}}, + {items = {"flowers:mushroom_spores_" .. name}, rarity = 4}, + {items = {"flowers:mushroom_spores_" .. name}, rarity = 2}, + {items = {"flowers:mushroom_spores_" .. name}, rarity = 2} + } + }, + 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 infertile mushrooms (these do not drop spores) + + 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}, + 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 -ndef.tiles[1] = "ethereal_mushroom_garden_3.png" -ndef.drop.items[2] = {items = {"ethereal:mushroom_plant 3"}, rarity = 3} -ndef.groups.mushroom = 3 -minetest.register_node("ethereal:mushroom_3", table.copy(ndef)) + 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 -ndef.tiles[1] = "ethereal_mushroom_garden_4.png" -ndef.drop.items[2].rarity = 1 -ndef.drop.items[3] = {items = {"ethereal:mushroom_plant 3"}, rarity = 7} -ndef.groups.mushroom = 4 -ndef.groups.growing = nil -minetest.register_node("ethereal:mushroom_4", table.copy(ndef)) +end -- END if red mushroom exists already --- Abm for growing Mushroom -if farming.mod ~= "redo" then +-- Register growing ABM minetest.register_abm({ - nodenames = {"group:mushroom"}, - neighbors = {"farming:soil_wet"}, - interval = 30, - chance = 2, + nodenames = {"flowers:mushroom_spores_brown", "flowers:mushroom_spores_red"}, + interval = 11, + chance = 50, action = function(pos, node) - -- return if already full grown - if minetest.get_item_group(node.name, "growing") < 1 then + 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 - - -- check if on wet soil - pos.y = pos.y - 1 - if minetest.get_item_group(minetest.get_node(pos).name, "soil") < 3 then - return - end - pos.y = pos.y + 1 - - -- check light - local light = minetest.get_node_light(pos) - if not light - or light < 5 then - return + 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_fertile_brown"}) + elseif node.name == "flowers:mushroom_spores_red" then + minetest.set_node(pos, {name = "flowers:mushroom_fertile_red"}) + end end - - -- grow - node.name = "ethereal:mushroom_garden_"..minetest.get_item_group(node.name, "mushroom") + 1 - minetest.set_node(pos, node) end }) -end +-- set compatibility with old ethereal shrooms +minetest.register_alias("ethereal:mushroom_craftingitem", "flowers:mushroom_spores_brown") +minetest.register_alias("ethereal:mushroom_plant", "flowers:mushroom_brown") +minetest.register_alias("ethereal:mushroom_soup_cooked", "ethereal:mushroom_soup") +minetest.register_alias("ethereal:mushroom_1", "flowers:mushroom_spores_brown") +minetest.register_alias("ethereal:mushroom_2", "flowers:mushroom_spores_brown") +minetest.register_alias("ethereal:mushroom_3", "flowers:mushroom_fertile_brown") +minetest.register_alias("ethereal:mushroom_4", "flowers:mushroom_fertile_brown") --- legacy -for i = 1, 4 do - minetest.register_alias("ethereal:mushroom_garden_"..i, "ethereal:mushroom_"..i) -end +-- mushroom soup (Heals 1 heart) +minetest.register_craftitem("ethereal:mushroom_soup", { + description = "Mushroom Soup", + inventory_image = "mushroom_soup.png", + on_use = minetest.item_eat(5, "ethereal:bowl"), +}) --- Temporary compatibility lines for Xanadu server -minetest.register_alias("ethereal:mushroom_7", "ethereal:mushroom_3") -minetest.register_alias("ethereal:mushroom_8", "ethereal:mushroom_4") \ No newline at end of file +minetest.register_craft({ + output = "ethereal:mushroom_soup", + recipe = { + {"flowers:mushroom_brown"}, + {"flowers:mushroom_brown"}, + {"ethereal:bowl"}, + } +}) diff --git a/plantlife.lua b/plantlife.lua index ca22bf3..44e5281 100644 --- a/plantlife.lua +++ b/plantlife.lua @@ -316,6 +316,7 @@ minetest.register_node("ethereal:bamboo_sprout", { type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, }, + on_use = minetest.item_eat(-2), }) -- Wooden Bowl (for Mushroom Soup) @@ -333,29 +334,14 @@ minetest.register_craft({ } }) --- Hearty Stew (Heals 4 hearts - thanks to ZonerDarkRevention for his DokuCraft DeviantArt bowl texture) +-- Hearty Stew (Heals 5 hearts - thanks to ZonerDarkRevention for his DokuCraft DeviantArt bowl texture) minetest.register_craftitem("ethereal:hearty_stew", { description = "Hearty Stew", inventory_image = "hearty_stew.png", - on_use = minetest.item_eat(8, "ethereal:bowl"), -}) - --- Cooked Hearty Stew (Heals 5 hearts) -minetest.register_craftitem("ethereal:hearty_stew_cooked", { - description = "Hearty Stew Cooked", - inventory_image = "hearty_stew_cooked.png", on_use = minetest.item_eat(10, "ethereal:bowl"), }) --- Hearty Stew -minetest.register_craft({ - output = "ethereal:hearty_stew", - recipe = { - {"ethereal:wild_onion_plant","ethereal:mushroom_plant", "ethereal:bamboo_sprout"}, - {"","ethereal:mushroom_plant", ""}, - {"","ethereal:bowl", ""}, - } -}) +minetest.register_alias("ethereal:hearty_stew_cooked", "ethereal:hearty_stew") minetest.register_craft({ output = "ethereal:hearty_stew", @@ -366,22 +352,6 @@ minetest.register_craft({ } }) --- Cooked Hearty Stew -minetest.register_craft({ - type = "cooking", - cooktime = 10, - output = "ethereal:hearty_stew_cooked", - recipe = "ethereal:hearty_stew" -}) - --- Mushroom Tops give 4x Mushrooms for Planting -minetest.register_craft({ - output = "ethereal:mushroom_craftingitem 4", - recipe = { - {"ethereal:mushroom"}, - } -}) - -- Bamboo Flooring minetest.register_node("ethereal:bamboo_floor", { description = ("Bamboo Floor"), diff --git a/textures/flowers_mushroom_brown.png b/textures/flowers_mushroom_brown.png new file mode 100644 index 0000000..33ffcd4 Binary files /dev/null and b/textures/flowers_mushroom_brown.png differ diff --git a/textures/flowers_mushroom_red.png b/textures/flowers_mushroom_red.png new file mode 100644 index 0000000..a68f5d5 Binary files /dev/null and b/textures/flowers_mushroom_red.png differ diff --git a/textures/flowers_mushroom_spores_brown.png b/textures/flowers_mushroom_spores_brown.png new file mode 100644 index 0000000..a0818d2 Binary files /dev/null and b/textures/flowers_mushroom_spores_brown.png differ diff --git a/textures/flowers_mushroom_spores_red.png b/textures/flowers_mushroom_spores_red.png new file mode 100644 index 0000000..1f1d3a4 Binary files /dev/null and b/textures/flowers_mushroom_spores_red.png differ -- cgit v1.2.3