Compare commits

...

13 Commits

6 changed files with 51 additions and 28 deletions

View File

@ -33,5 +33,6 @@ Changelog:
- 1.1 - Added {can_bonemeal=1} group for special nodes - 1.1 - Added {can_bonemeal=1} group for special nodes
- 1.2 - Added support for minetest 5.0 cactus seedling, blueberry bush sapling and emergent jungle tree saplings, additional flowers and pine bush sapling. - 1.2 - Added support for minetest 5.0 cactus seedling, blueberry bush sapling and emergent jungle tree saplings, additional flowers and pine bush sapling.
- 1.3 - Ability to craft dye from mulch, bonemeal and fertiliser (thanks orbea) - 1.3 - Ability to craft dye from mulch, bonemeal and fertiliser (thanks orbea)
- 1.4 - Add support for fern saplings from plantlife mod (thanks nixnoxus)
Lucky Blocks: 6 Lucky Blocks: 6

View File

@ -7,3 +7,5 @@ technic_worldgen?
lucky_block? lucky_block?
flowers? flowers?
dye? dye?
ferns?
dryplants?

View File

@ -62,7 +62,7 @@ local saplings = {
{"default:blueberry_bush_sapling", default.grow_blueberry_bush, "soil"}, {"default:blueberry_bush_sapling", default.grow_blueberry_bush, "soil"},
{"default:pine_bush_sapling", default.grow_pine_bush, "soil"}, {"default:pine_bush_sapling", default.grow_pine_bush, "soil"},
{"default:cactus", cactus_grow, "sand"}, {"default:cactus", cactus_grow, "sand"},
{"default:papyrus", papyrus_grow, "soil"}, {"default:papyrus", papyrus_grow, "soil"}
} }
-- helper tables ( "" denotes a blank item ) -- helper tables ( "" denotes a blank item )
@ -95,10 +95,13 @@ end)
-- default biomes deco -- default biomes deco
local deco = { local deco = {
{"default:dry_dirt", dry_grass, {}},
{"default:dry_dirt_with_dry_grass", dry_grass, {}},
{"default:dirt_with_dry_grass", dry_grass, flowers}, {"default:dirt_with_dry_grass", dry_grass, flowers},
{"default:sand", {}, {"default:dry_shrub", "", "", ""} }, {"default:sand", {}, {"default:dry_shrub", "", "", ""} },
{"default:desert_sand", {}, {"default:dry_shrub", "", "", ""} }, {"default:desert_sand", {}, {"default:dry_shrub", "", "", ""} },
{"default:silver_sand", {}, {"default:dry_shrub", "", "", ""} }, {"default:silver_sand", {}, {"default:dry_shrub", "", "", ""} },
{"default:dirt_with_rainforest_litter", {}, {"default:junglegrass", "", "", ""}}
} }
@ -472,7 +475,8 @@ function bonemeal:on_use(pos, strength, node)
end end
-- check for tree growth if pointing at sapling -- check for tree growth if pointing at sapling
if minetest.get_item_group(node.name, "sapling") > 0 if (minetest.get_item_group(node.name, "sapling") > 0
or node.name == "default:large_cactus_seedling")
and random(5 - strength) == 1 then and random(5 - strength) == 1 then
check_sapling(pos, node.name) check_sapling(pos, node.name)
return true return true
@ -618,51 +622,45 @@ minetest.register_craft({
-- bonemeal (from bone) -- bonemeal (from bone)
minetest.register_craft({ minetest.register_craft({
type = "shapeless",
output = "bonemeal:bonemeal 2", output = "bonemeal:bonemeal 2",
recipe = {"group:bone"} recipe = {{"group:bone"}}
}) })
-- bonemeal (from player bones) -- bonemeal (from player bones)
minetest.register_craft({ minetest.register_craft({
type = "shapeless",
output = "bonemeal:bonemeal 4", output = "bonemeal:bonemeal 4",
recipe = {"bones:bones"} recipe = {{"bones:bones"}}
}) })
-- bonemeal (from coral skeleton) -- bonemeal (from coral skeleton)
minetest.register_craft({ minetest.register_craft({
type = "shapeless",
output = "bonemeal:bonemeal 2", output = "bonemeal:bonemeal 2",
recipe = {"default:coral_skeleton"} recipe = {{"default:coral_skeleton"}}
}) })
-- mulch -- mulch
minetest.register_craft({ minetest.register_craft({
type = "shapeless",
output = "bonemeal:mulch 4", output = "bonemeal:mulch 4",
recipe = { recipe = {
"group:tree", "group:leaves", "group:leaves", {"group:tree", "group:leaves", "group:leaves"},
"group:leaves", "group:leaves", "group:leaves", {"group:leaves", "group:leaves", "group:leaves"},
"group:leaves", "group:leaves", "group:leaves" {"group:leaves", "group:leaves", "group:leaves"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
type = "shapeless",
output = "bonemeal:mulch", output = "bonemeal:mulch",
recipe = { recipe = {
"group:seed", "group:seed", "group:seed", {"group:seed", "group:seed", "group:seed"},
"group:seed", "group:seed", "group:seed", {"group:seed", "group:seed", "group:seed"},
"group:seed", "group:seed", "group:seed" {"group:seed", "group:seed", "group:seed"}
} }
}) })
-- fertiliser -- fertiliser
minetest.register_craft({ minetest.register_craft({
type = "shapeless",
output = "bonemeal:fertiliser 2", output = "bonemeal:fertiliser 2",
recipe = {"bonemeal:bonemeal", "bonemeal:mulch"} recipe = {{"bonemeal:bonemeal", "bonemeal:mulch"}}
}) })
@ -689,4 +687,5 @@ end
dofile(path .. "/mods.lua") dofile(path .. "/mods.lua")
dofile(path .. "/lucky_block.lua") dofile(path .. "/lucky_block.lua")
print (S("[MOD] bonemeal loaded"))
print ("[MOD] bonemeal loaded")

View File

@ -22,8 +22,7 @@ if minetest.get_modpath("lucky_block") then
{"nod", "default:chest", 0, { {"nod", "default:chest", 0, {
{name = "bonemeal:mulch", max = 20}, {name = "bonemeal:mulch", max = 20},
{name = "bonemeal:bonemeal", max = 15}, {name = "bonemeal:bonemeal", max = 15},
{name = "bonemeal:fertiliser", max = 10}, {name = "bonemeal:fertiliser", max = 10}
}}, }}
}) })
end end

View File

@ -1,4 +1,4 @@
name = bonemeal name = bonemeal
depends = default depends = default
optional_depends = intllib, lucky_block, farming, ethereal, moretrees, technic_worldgen, flowers, dye optional_depends = intllib, lucky_block, farming, ethereal, moretrees, technic_worldgen, flowers, dye, ferns, dryplants
description = Adds bone and bonemeal giving the ability to quickly grow plants and saplings. description = Adds bone and bonemeal giving the ability to quickly grow plants and saplings.

View File

@ -3,9 +3,8 @@
if minetest.get_modpath("animalmaterials") then if minetest.get_modpath("animalmaterials") then
minetest.register_craft({ minetest.register_craft({
type = "shapeless",
output = "bonemeal:bonemeal 2", output = "bonemeal:bonemeal 2",
recipe = {"animalmaterials:bone"} recipe = {{"animalmaterials:bone"}}
}) })
end end
@ -46,7 +45,8 @@ if farming and farming.mod and farming.mod == "redo" then
{"farming:vanilla_", 8}, {"farming:vanilla_", 8},
{"farming:soy_", 7}, {"farming:soy_", 7},
{"farming:artichoke_", 5}, {"farming:artichoke_", 5},
{"farming:parsley_", 3} {"farming:parsley_", 3},
{"farming:sunflower_", 8}
}) })
end end
@ -68,6 +68,7 @@ if minetest.get_modpath("ethereal") then
{"ethereal:mushroom_sapling", ethereal.grow_mushroom_tree, "soil"}, {"ethereal:mushroom_sapling", ethereal.grow_mushroom_tree, "soil"},
{"ethereal:willow_sapling", ethereal.grow_willow_tree, "soil"}, {"ethereal:willow_sapling", ethereal.grow_willow_tree, "soil"},
{"ethereal:redwood_sapling", ethereal.grow_redwood_tree, "soil"}, {"ethereal:redwood_sapling", ethereal.grow_redwood_tree, "soil"},
{"ethereal:giant_redwood_sapling", ethereal.grow_giant_redwood_tree, "soil"},
{"ethereal:orange_tree_sapling", ethereal.grow_orange_tree, "soil"}, {"ethereal:orange_tree_sapling", ethereal.grow_orange_tree, "soil"},
{"ethereal:bamboo_sprout", ethereal.grow_bamboo_tree, "soil"}, {"ethereal:bamboo_sprout", ethereal.grow_bamboo_tree, "soil"},
{"ethereal:birch_sapling", ethereal.grow_birch_tree, "soil"}, {"ethereal:birch_sapling", ethereal.grow_birch_tree, "soil"},
@ -113,13 +114,11 @@ if minetest.get_modpath("moretrees") then
{"moretrees:apple_tree_sapling", moretrees.spawn_apple_tree_object, "soil"}, {"moretrees:apple_tree_sapling", moretrees.spawn_apple_tree_object, "soil"},
{"moretrees:oak_sapling", moretrees.spawn_oak_object, "soil"}, {"moretrees:oak_sapling", moretrees.spawn_oak_object, "soil"},
{"moretrees:sequoia_sapling", moretrees.spawn_sequoia_object, "soil"}, {"moretrees:sequoia_sapling", moretrees.spawn_sequoia_object, "soil"},
--{"moretrees:birch_sapling", moretrees.spawn_birch_object, "soil"},
{"moretrees:birch_sapling", moretrees.grow_birch, "soil"}, {"moretrees:birch_sapling", moretrees.grow_birch, "soil"},
{"moretrees:palm_sapling", moretrees.spawn_palm_object, "soil"}, {"moretrees:palm_sapling", moretrees.spawn_palm_object, "soil"},
{"moretrees:palm_sapling", moretrees.spawn_palm_object, "sand"}, {"moretrees:palm_sapling", moretrees.spawn_palm_object, "sand"},
{"moretrees:date_palm_sapling", moretrees.spawn_date_palm_object, "soil"}, {"moretrees:date_palm_sapling", moretrees.spawn_date_palm_object, "soil"},
{"moretrees:date_palm_sapling", moretrees.spawn_date_palm_object, "sand"}, {"moretrees:date_palm_sapling", moretrees.spawn_date_palm_object, "sand"},
--{"moretrees:spruce_sapling", moretrees.spawn_spruce_object, "soil"},
{"moretrees:spruce_sapling", moretrees.grow_spruce, "soil"}, {"moretrees:spruce_sapling", moretrees.grow_spruce, "soil"},
{"moretrees:cedar_sapling", moretrees.spawn_cedar_object, "soil"}, {"moretrees:cedar_sapling", moretrees.spawn_cedar_object, "soil"},
{"moretrees:poplar_sapling", moretrees.spawn_poplar_object, "soil"}, {"moretrees:poplar_sapling", moretrees.spawn_poplar_object, "soil"},
@ -153,6 +152,29 @@ if minetest.get_modpath("caverealms") then
end end
local function y_func(grow_func)
return function(pos)
grow_func({x = pos.x, y = pos.y - 1, z = pos.z})
end
end
if minetest.get_modpath("ferns") then
bonemeal:add_sapling({
{"ferns:sapling_giant_tree_fern", y_func(abstract_ferns.grow_giant_tree_fern), "soil"},
{"ferns:sapling_giant_tree_fern", y_func(abstract_ferns.grow_giant_tree_fern), "sand"},
{"ferns:sapling_tree_fern", y_func(abstract_ferns.grow_tree_fern), "soil"}
})
end
if minetest.get_modpath("dryplants") then
bonemeal:add_sapling({
{"dryplants:reedmace_sapling", y_func(abstract_dryplants.grow_reedmace), "soil"}
})
end
if minetest.get_modpath("dye") then if minetest.get_modpath("dye") then
local bonemeal_dyes = { local bonemeal_dyes = {