Compare commits

...

41 Commits

Author SHA1 Message Date
d357709339 Merge remote-tracking branch 'upstream/master' 2022-08-26 14:53:18 +02:00
1f4c1a1fd7 fix df_trees tunnel tube growth 2022-07-24 08:34:46 +01:00
9ceeb63c8a add df_trees blood thorn, add df_primordial_items fungal deco 2022-07-24 08:29:15 +01:00
1315e2cc5f add df_primordial_items and tweak surface detection for decorations 2022-07-08 09:21:32 +01:00
4a0eddef02 add df_primordial_items saplings 2022-07-01 14:36:36 +01:00
e163e815d6 add missing nether cap entry 2022-07-01 12:32:38 +01:00
08ed68a8b7 added dfcavern's nether cap 2022-07-01 11:26:00 +01:00
1a1c49ba06 add ignore_light flag to crop and sapling growth, tidy code 2022-07-01 11:20:06 +01:00
996094dd5c fix fungiwood sapling, restart any crop timers 2022-06-30 13:00:50 +01:00
bb34fbae3d tweak crop growth, add df_farming crops 2022-06-30 12:48:18 +01:00
5f81c3dfa2 add initial support for dfcavern saplings 2022-06-30 09:12:11 +01:00
131024ee97 Merge remote-tracking branch 'upstream/master' 2022-05-27 18:28:29 +02:00
804343f7c0 fix large cactus seedling growth 2022-05-08 10:29:10 +01:00
4c50a02a0e change of jungle grass on rainforest litter (thx nixnoxus) 2022-03-19 07:55:03 +00:00
52a3856f26 Merge remote-tracking branch 'upstream/master' 2022-01-22 19:58:01 +01:00
79f9cb3294 support for fern saplings in plantlife mod (thanks nixnoxus) 2022-01-12 08:19:42 +00:00
52ada84c58 Merge remote-tracking branch 'upstream/master' 2021-10-04 21:31:30 +02:00
2d7dbc735c added sunflowers to list 2021-09-28 14:04:25 +01:00
a920032dd5 Merge remote-tracking branch 'upstream/master' 2021-08-31 19:44:56 +02:00
b6b40c558a add giant redwood sapling support 2021-08-20 11:24:56 +01:00
d534523a1d Merge remote-tracking branch 'upstream/master' 2021-06-20 17:03:28 +02:00
75ec006643 dry grass grows on dry dirt 2021-06-20 08:06:35 +01:00
acea1713b7 Merge remote-tracking branch 'upstream/master' 2021-04-17 13:42:29 +02:00
b5819d022e reduce shapeless crafts 2021-04-13 21:00:25 +01:00
1a9c67b1e3 Merge remote-tracking branch 'upstream/master' 2021-04-04 20:56:38 +02:00
05e211a037 can grow cactus and papyrus 2021-04-01 11:51:55 +01:00
fdc62f06b0 Merge remote-tracking branch 'upstream/master' 2021-03-12 12:15:29 +01:00
807388d632 add parsley and artichoke 2021-03-11 09:49:20 +00:00
2658577776 Merge remote-tracking branch 'upstream/master' 2021-02-23 21:14:06 +01:00
634d1496aa ignore xdecor's flowerpots when adding flowers 2021-02-20 15:52:36 +00:00
8fc57f7746 tweak flower addition to wait until mods loaded 2021-02-20 15:33:03 +00:00
7c106254d2 Merge remote-tracking branch 'upstream/master' 2021-01-23 12:53:15 +01:00
308baf3a17 update mod.conf info 2021-01-21 09:53:40 +00:00
b50f533579 Merge remote-tracking branch 'upstream/master' 2021-01-15 21:08:57 +01:00
587e0fbf02 added german translation (thanks rti) 2021-01-13 10:27:02 +00:00
2c90275687 Merge remote-tracking branch 'upstream/master' 2020-12-15 23:25:43 +01:00
30d0c02d8c only use bonemeal items when actually used. 2020-12-13 18:17:11 +00:00
2ec1168292 add vanilla and soy 2020-12-13 10:36:06 +00:00
1aba553059 amend pepper stages 2020-12-13 09:20:21 +00:00
fefe122dc9 added olive and lemon trees 2020-12-12 20:05:25 +00:00
5ce62f46e7 add blackberry and lettuce 2020-12-10 15:35:18 +00:00
8 changed files with 301 additions and 119 deletions

View File

@ -33,5 +33,6 @@ Changelog:
- 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.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

View File

@ -15,7 +15,7 @@ Adding Crops
------------
bonemeal:add_crop({
{ nodename_start, growing_steps, seed_name }
{ nodename_start, growing_steps, seed_name, ignore_light }
})
This command is used to add new crops for bonemeal to work on.
@ -25,6 +25,7 @@ e.g.
bonemeal:add_crop({
{"farming:cotton_", 8, "farming:seed_cotton"},
{"farming:wheat_", 8, "farming:seed_wheat"},
{"mymod:dark_wheat_", 8, "mymod:dark_wheat_seed", true}, -- can grow in darkness
})
@ -32,7 +33,7 @@ Adding Saplings
---------------
bonemeal:add_sapling({
{ sapling_node, function, soil_type[sand, dirt, nodename] }
{ sapling_node, function, soil_type["sand", "dirt", nodename, "group:"], ignore_light }
})
This command will add new saplings for bonemeal to grow on sand, soil or a
@ -41,6 +42,7 @@ specified node type.
bonemeal:add_sapling({
{"ethereal:palm_sapling", ethereal.grow_palm_tree, "soil"},
{"ethereal:palm_sapling", ethereal.grow_palm_tree, "sand"},
{"mymod:dark_tree", mymod.dark_tree, "group:soil", true}, -- can grow in darkness
})

View File

@ -7,3 +7,8 @@ technic_worldgen?
lucky_block?
flowers?
dye?
ferns?
dryplants?
df_trees?
df_farming?
df_primordial_items?

209
init.lua
View File

@ -37,6 +37,17 @@ local function pine_grow(pos)
end
-- special function for cactus growth
local function cactus_grow(pos)
default.grow_cactus(pos, minetest.get_node(pos))
end
-- special function for papyrus growth
local function papyrus_grow(pos)
default.grow_papyrus(pos, minetest.get_node(pos))
end
-- default saplings
local saplings = {
{"default:sapling", default.grow_new_apple_tree, "soil"},
@ -49,7 +60,9 @@ local saplings = {
{"default:acacia_bush_sapling", default.grow_acacia_bush, "soil"},
{"default:large_cactus_seedling", default.grow_large_cactus, "sand"},
{"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:papyrus", papyrus_grow, "soil"}
}
-- helper tables ( "" denotes a blank item )
@ -63,31 +76,35 @@ local dry_grass = {
"default:dry_grass_5", "", ""
}
-- add all in-game flowers except waterlily
-- loads mods then add all in-game flowers except waterlily
local flowers = {}
for node, def in pairs(minetest.registered_nodes) do
minetest.after(0.1, function()
if def.groups.flower and not node:find("waterlily") then
for node, def in pairs(minetest.registered_nodes) do
if def.groups
and def.groups.flower
and not node:find("waterlily")
and not node:find("xdecor:potted_")
and not node:find("df_farming:") then
flowers[#flowers + 1] = node
end
end
end
end)
-- add additional bakedclay flowers if enabled
if minetest.get_modpath("bakedclay") then
flowers[#flowers + 1] = "bakedclay:delphinium"
flowers[#flowers + 1] = "bakedclay:thistle"
flowers[#flowers + 1] = "bakedclay:lazarus"
flowers[#flowers + 1] = "bakedclay:mannagrass"
flowers[#flowers + 1] = ""
end
-- default biomes deco
local deco = {
{"default:dirt", green_grass, flowers},
{"default:dirt_with_grass", green_grass, flowers},
{"default:dry_dirt", dry_grass, {}},
{"default:dry_dirt_with_dry_grass", dry_grass, {}},
{"default:dirt_with_dry_grass", dry_grass, flowers},
{"default:sand", {}, {"default:dry_shrub", "", "", ""} },
{"default:desert_sand", {}, {"default:dry_shrub", "", "", ""} },
{"default:silver_sand", {}, {"default:dry_shrub", "", "", ""} },
{"default:dirt_with_rainforest_litter", {}, {"default:junglegrass", "", "", ""}}
}
@ -137,7 +154,7 @@ end
-- sapling check
local function check_sapling(pos, nodename)
local function check_sapling(pos, sapling_node, light_ok)
-- what is sapling placed on?
local under = minetest.get_node({
@ -151,37 +168,37 @@ local function check_sapling(pos, nodename)
-- check list for sapling and function
for n = 1, #saplings do
if saplings[n][1] == nodename then
if saplings[n][1] == sapling_node then
grow_on = saplings[n][3]
grow_on = saplings[n][3] or ""
-- sapling grows on top of specific node
if grow_on
and grow_on ~= "soil"
and grow_on ~= "sand"
and grow_on == under.name then
-- backwards compatibility, add 'group:' to older grouping
if grow_on == "soil" or grow_on == "sand" then
grow_on = "group:" .. grow_on
end
-- sapling grows on top of specific node group
if grow_on:find("group:") then
local group = grow_on:split(":")[2]
if minetest.get_item_group(under.name, group) > 0 then
can_grow = true
end
-- sapling grows on top of soil (default)
if can_grow == nil
and (grow_on == nil or grow_on == "soil")
and minetest.get_item_group(under.name, "soil") > 0 then
-- sapling grows on specific node
elseif grow_on == under.name then
can_grow = true
end
-- sapling grows on top of sand
if can_grow == nil
and grow_on == "sand"
and minetest.get_item_group(under.name, "sand") > 0 then
can_grow = true
end
-- check if we can grow sapling at current light level
if can_grow and (light_ok or saplings[n][4] == true) then
-- check if we can grow sapling
if can_grow then
particle_effect(pos)
grow_tree(pos, saplings[n][2])
return
return true
end
end
end
@ -189,34 +206,51 @@ end
-- crops check
local function check_crops(pos, nodename, strength)
local function check_crops(pos, nodename, strength, light_ok)
local mod, crop, stage, nod, def
-- grow registered crops
for n = 1, #crops do
if nodename:find(crops[n][1])
or nodename == crops[n][3] then
-- check if crop can grow in current light level
if (light_ok or crops[n][4] == true)
and (nodename:find(crops[n][1])
or nodename == crops[n][3]) then
-- separate mod and node name
mod = nodename:split(":")[1] .. ":"
crop = nodename:split(":")[2]
-- get stage number or set to 0 for seed
stage = tonumber( crop:split("_")[2] ) or 0
if crop:split("_")[3] then
stage = crop:split("_")[3]
else
stage = crop:split("_")[2]
end
stage = tonumber(stage) or 0
stage = min(stage + strength, crops[n][2])
-- check for place_param setting
nod = crops[n][1] .. stage
def = minetest.registered_nodes[nod]
-- make sure crop exists or isn't fully grown already
if not def or nod == nodename then
return false
end
def = def and def.place_param2 or 0
minetest.set_node(pos, {name = nod, param2 = def})
particle_effect(pos)
return
minetest.get_node_timer(pos):start(10) -- restart any timers
return true
end
end
end
@ -228,33 +262,21 @@ local function check_soil(pos, nodename, strength)
-- set radius according to strength
local side = strength - 1
local tall = max(strength - 2, 0)
local floor
local groups = minetest.registered_items[nodename]
and minetest.registered_items[nodename].groups or {}
-- only place decoration on one type of surface
if groups.soil then
floor = {"group:soil"}
elseif groups.sand then
floor = {"group:sand"}
else
floor = {nodename}
end
-- get area of land with free space above
local dirt = minetest.find_nodes_in_area_under_air(
{x = pos.x - side, y = pos.y - tall, z = pos.z - side},
{x = pos.x + side, y = pos.y + tall, z = pos.z + side}, floor)
{x = pos.x + side, y = pos.y + tall, z = pos.z + side}, {nodename})
-- set default grass and decoration
local grass = green_grass
local decor = flowers
local grass, decor
-- choose grass and decoration to use on dirt patch
for n = 1, #deco do
-- do we have a grass match?
if nodename == deco[n][1] then
grass = deco[n][2] or {}
decor = deco[n][3] or {}
end
@ -307,7 +329,7 @@ end
-- add to sapling list
-- {sapling node, schematic or function name, "soil"|"sand"|specific_node}
-- {sapling node, schematic or function name, "soil"|"sand"|specific_node|"group:"}
--e.g. {"default:sapling", default.grow_new_apple_tree, "soil"}
function bonemeal:add_sapling(list)
@ -438,13 +460,13 @@ function bonemeal:on_use(pos, strength, node)
default.grow_papyrus(pos, node)
particle_effect(pos)
return
return true
elseif node.name == "default:cactus" then
default.grow_cactus(pos, node)
particle_effect(pos)
return
return true
end
-- grow grass and flowers
@ -452,23 +474,26 @@ function bonemeal:on_use(pos, strength, node)
or minetest.get_item_group(node.name, "sand") > 0
or minetest.get_item_group(node.name, "can_bonemeal") > 0 then
check_soil(pos, node.name, strength)
return
return true
end
-- light check depending on strength (strength of 4 = no light needed)
local light_ok = true
if (minetest.get_node_light(pos) or 0) < (12 - (strength * 3)) then
return
light_ok = nil
end
-- check for tree growth if pointing at sapling
if minetest.get_item_group(node.name, "sapling") > 0
and random(5 - strength) == 1 then
check_sapling(pos, node.name)
return
-- check for sapling growth
if random(5 - strength) == 1
and check_sapling(pos, node.name, light_ok) then
return true
end
-- check for crop growth
check_crops(pos, node.name, strength)
if check_crops(pos, node.name, strength, light_ok) then
return true
end
end
@ -494,13 +519,14 @@ minetest.register_craftitem("bonemeal:mulch", {
return
end
-- call global on_use function with strength of 1
if bonemeal:on_use(pointed_thing.under, 1) then
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
-- call global on_use function with strength of 1
bonemeal:on_use(pointed_thing.under, 1)
end
return itemstack
end
@ -524,13 +550,14 @@ minetest.register_craftitem("bonemeal:bonemeal", {
return
end
-- call global on_use function with strength of 2
if bonemeal:on_use(pointed_thing.under, 2) then
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
-- call global on_use function with strength of 2
bonemeal:on_use(pointed_thing.under, 2)
end
return itemstack
end
@ -554,13 +581,14 @@ minetest.register_craftitem("bonemeal:fertiliser", {
return
end
-- call global on_use function with strength of 3
if bonemeal:on_use(pointed_thing.under, 3) then
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
-- call global on_use function with strength of 3
bonemeal:on_use(pointed_thing.under, 3)
end
return itemstack
end
@ -593,60 +621,54 @@ minetest.register_craft({
recipe = {
{"group:bone", "group:bone", "group:bone"},
{"bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water"},
{"bucket:bucket_water", "default:torch", "bucket:bucket_water"},
{"bucket:bucket_water", "default:torch", "bucket:bucket_water"}
},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty 5"},
{"bucket:bucket_water", "bucket:bucket_empty 5"}
}
})
-- bonemeal (from bone)
minetest.register_craft({
type = "shapeless",
output = "bonemeal:bonemeal 2",
recipe = {"group:bone"}
recipe = {{"group:bone"}}
})
-- bonemeal (from player bones)
minetest.register_craft({
type = "shapeless",
output = "bonemeal:bonemeal 4",
recipe = {"bones:bones"}
recipe = {{"bones:bones"}}
})
-- bonemeal (from coral skeleton)
minetest.register_craft({
type = "shapeless",
output = "bonemeal:bonemeal 2",
recipe = {"default:coral_skeleton"}
recipe = {{"default:coral_skeleton"}}
})
-- mulch
minetest.register_craft({
type = "shapeless",
output = "bonemeal:mulch 4",
recipe = {
"group:tree", "group:leaves", "group:leaves",
"group:leaves", "group:leaves", "group:leaves",
"group:leaves", "group:leaves", "group:leaves"
{"group:tree", "group:leaves", "group:leaves"},
{"group:leaves", "group:leaves", "group:leaves"},
{"group:leaves", "group:leaves", "group:leaves"}
}
})
minetest.register_craft({
type = "shapeless",
output = "bonemeal:mulch",
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
minetest.register_craft({
type = "shapeless",
output = "bonemeal:fertiliser 2",
recipe = {"bonemeal:bonemeal", "bonemeal:mulch"}
recipe = {{"bonemeal:bonemeal", "bonemeal:mulch"}}
})
@ -673,4 +695,5 @@ end
dofile(path .. "/mods.lua")
dofile(path .. "/lucky_block.lua")
print (S("[MOD] bonemeal loaded"))
print ("[MOD] bonemeal loaded")

7
locale/bonemeal.de.tr Normal file
View File

@ -0,0 +1,7 @@
# textdomain:bonemeal
[MOD] bonemeal loaded=[MOD] bonemeal geladen
Bone=Knochen
Bone Meal=Knochenmehl
Fertiliser=Dünger
Gelatin Powder=Gelatinepulver
Mulch=Mulch

View File

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

View File

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

156
mods.lua
View File

@ -3,9 +3,8 @@
if minetest.get_modpath("animalmaterials") then
minetest.register_craft({
type = "shapeless",
output = "bonemeal:bonemeal 2",
recipe = {"animalmaterials:bone"}
recipe = {{"animalmaterials:bone"}}
})
end
@ -32,7 +31,7 @@ if farming and farming.mod and farming.mod == "redo" then
{"farming:chili_", 8},
{"farming:garlic_", 5},
{"farming:onion_", 5},
{"farming:pepper_", 5},
{"farming:pepper_", 7},
{"farming:pineapple_", 8},
{"farming:pea_", 5},
{"farming:beetroot_", 5},
@ -40,7 +39,14 @@ if farming and farming.mod and farming.mod == "redo" then
{"farming:oat_", 8},
{"farming:rice_", 8},
{"farming:mint_", 4},
{"farming:cabbage_", 6}
{"farming:cabbage_", 6},
{"farming:lettuce_", 5},
{"farming:blackberry_", 4},
{"farming:vanilla_", 8},
{"farming:soy_", 7},
{"farming:artichoke_", 5},
{"farming:parsley_", 3},
{"farming:sunflower_", 8}
})
end
@ -62,10 +68,13 @@ if minetest.get_modpath("ethereal") then
{"ethereal:mushroom_sapling", ethereal.grow_mushroom_tree, "soil"},
{"ethereal:willow_sapling", ethereal.grow_willow_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:bamboo_sprout", ethereal.grow_bamboo_tree, "soil"},
{"ethereal:birch_sapling", ethereal.grow_birch_tree, "soil"},
{"ethereal:sakura_sapling", ethereal.grow_sakura_tree, "soil"}
{"ethereal:sakura_sapling", ethereal.grow_sakura_tree, "soil"},
{"ethereal:lemon_tree_sapling", ethereal.grow_lemon_tree, "soil"},
{"ethereal:olive_tree_sapling", ethereal.grow_olive_tree, "soil"}
})
local grass = {"default:grass_3", "default:grass_4", "default:grass_5", ""}
@ -105,13 +114,11 @@ if minetest.get_modpath("moretrees") then
{"moretrees:apple_tree_sapling", moretrees.spawn_apple_tree_object, "soil"},
{"moretrees:oak_sapling", moretrees.spawn_oak_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:palm_sapling", moretrees.spawn_palm_object, "soil"},
{"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, "sand"},
--{"moretrees:spruce_sapling", moretrees.spawn_spruce_object, "soil"},
{"moretrees:spruce_sapling", moretrees.grow_spruce, "soil"},
{"moretrees:cedar_sapling", moretrees.spawn_cedar_object, "soil"},
{"moretrees:poplar_sapling", moretrees.spawn_poplar_object, "soil"},
@ -145,6 +152,29 @@ if minetest.get_modpath("caverealms") then
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
local bonemeal_dyes = {
@ -160,3 +190,115 @@ if minetest.get_modpath("dye") then
})
end
end
if minetest.get_modpath("df_trees") then
local function spore_tree_fix(pos)
minetest.set_node(pos, {name = "air"})
df_trees.spawn_spore_tree(pos)
end
local function fungiwood_fix(pos)
minetest.set_node(pos, {name = "air"})
df_trees.spawn_fungiwood(pos)
end
local function tunnel_fix(pos)
minetest.set_node(pos, {name = "air"})
df_trees.spawn_tunnel_tube(pos)
end
bonemeal:add_sapling({
{"df_trees:black_cap_sapling", df_trees.spawn_black_cap, "soil", true},
{"df_trees:fungiwood_sapling", fungiwood_fix, "soil", true},
{"df_trees:goblin_cap_sapling", df_trees.spawn_goblin_cap, "soil", true},
{"df_trees:spore_tree_sapling", spore_tree_fix, "soil", true},
{"df_trees:tower_cap_sapling", df_trees.spawn_tower_cap, "soil", true},
{"df_trees:tunnel_tube_sapling", tunnel_fix, "soil", true},
{"df_trees:nether_cap_sapling", df_trees.spawn_nether_cap, "group:nether_cap", true},
{"df_trees:nether_cap_sapling", df_trees.spawn_nether_cap, "group:cools_lava", true}
})
end
if minetest.get_modpath("df_farming") then
bonemeal:add_crop({
{"df_farming:cave_wheat_", 8, "df_farming:cave_wheat_seed", true},
{"df_farming:dimple_cup_", 4, "df_farming:dimple_cup_seed", true},
{"df_farming:pig_tail_", 8, "df_farming:pig_tail_seed", true},
{"df_farming:plump_helmet_", 4, "df_farming:plump_helmet_spawn", true},
{"df_farming:quarry_bush_", 5, "df_farming:quarry_bush_seed", true},
{"df_farming:sweet_pod_", 6, "df_farming:sweet_pod_seed", true}
})
end
if minetest.get_modpath("df_primordial_items") then
local function mush_fix(pos)
minetest.set_node(pos, {name = "air"})
mapgen_helper.place_schematic(pos,
df_primordial_items.get_primordial_mushroom(), (math.random(1,4)-1)*90)
end
local function fern_fix(pos)
minetest.set_node(pos, {name = "air"})
local rotations = {0, 90, 180, 270}
mapgen_helper.place_schematic(pos,
df_primordial_items.get_fern_schematic(), rotations[math.random(1,#rotations)])
end
local function blood_fix(pos)
df_trees.grow_blood_thorn(pos, minetest.get_node(pos))
end
bonemeal:add_sapling({
{"df_primordial_items:jungle_mushroom_sapling",
df_primordial_items.spawn_jungle_mushroom, "soil", true},
{"df_primordial_items:jungletree_sapling",
df_primordial_items.spawn_jungle_tree, "soil", true},
{"df_primordial_items:mush_sapling", mush_fix, "soil", true},
{"df_primordial_items:fern_sapling", fern_fix, "soil", true},
{"df_trees:blood_thorn", blood_fix, "sand", true}
})
local jgrass = {
"df_primordial_items:jungle_grass_1",
"df_primordial_items:jungle_grass_2",
"df_primordial_items:jungle_grass_3",
"df_primordial_items:fern_1",
"df_primordial_items:fern_2",
"", "", "", ""
}
local jdeco = {
"df_primordial_items:jungle_mushroom_1",
"df_primordial_items:jungle_mushroom_2",
"df_primordial_items:glow_plant_1",
"df_primordial_items:glow_plant_2",
"df_primordial_items:glow_plant_3",
"", "", ""
}
bonemeal:add_deco({
{"df_primordial_items:dirt_with_jungle_grass", jgrass, jdeco}
})
local fgrass = {
"df_primordial_items:fungal_grass_1",
"df_primordial_items:fungal_grass_2",
"", "", "", ""
}
local fdeco = {
"df_primordial_items:glow_orb_stalks",
"df_primordial_items:glow_pods",
"", "", ""
}
bonemeal:add_deco({
{"df_primordial_items:dirt_with_mycelium", fgrass, fdeco}
})
end