forked from mtcontrib/bonemeal
Compare commits
8 Commits
01d71b2b29
...
1299f39126
Author | SHA1 | Date | |
---|---|---|---|
1299f39126 | |||
363ec856ee | |||
5384fc7924 | |||
cff3fc378b | |||
a4c4716c36 | |||
797bae9c46 | |||
54b856158c | |||
9bc52e2042 |
@ -30,5 +30,7 @@ Changelog:
|
||||
- 0.8 - Added support for farming redo's new garlic, pepper and onion crops
|
||||
- 0.9 - Added support for farming redo's pea and beetroot crops, checks for place_param
|
||||
- 1.0 - add_deco() now adds to existing item list while set_deco() replaces item list (thanks h-v-smacker)
|
||||
- 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.
|
||||
|
||||
Lucky Blocks: 6
|
||||
|
@ -5,3 +5,4 @@ ethereal?
|
||||
moretrees?
|
||||
technic_worldgen?
|
||||
lucky_block?
|
||||
flowers?
|
||||
|
48
init.lua
48
init.lua
@ -37,11 +37,15 @@ end
|
||||
local saplings = {
|
||||
{"default:sapling", default.grow_new_apple_tree, "soil"},
|
||||
{"default:junglesapling", default.grow_new_jungle_tree, "soil"},
|
||||
{"default:emergent_jungle_sapling", default.grow_new_emergent_jungle_tree, "soil"},
|
||||
{"default:acacia_sapling", default.grow_new_acacia_tree, "soil"},
|
||||
{"default:aspen_sapling", default.grow_new_aspen_tree, "soil"},
|
||||
{"default:pine_sapling", pine_grow, "soil"},
|
||||
{"default:bush_sapling", default.grow_bush, "soil"},
|
||||
{"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"},
|
||||
}
|
||||
|
||||
-- helper tables ( "" denotes a blank item )
|
||||
@ -60,13 +64,19 @@ local flowers = {
|
||||
"flowers:rose", "flowers:tulip", "flowers:viola", ""
|
||||
}
|
||||
|
||||
-- 5.0 flower check
|
||||
if minetest.registered_nodes["flowers:tulip_black"] then
|
||||
flowers[#flowers + 1] = "flowers:tulip_black"
|
||||
flowers[#flowers + 1] = "flowers:chrysanthemum_green"
|
||||
end
|
||||
|
||||
-- add additional bakedclay flowers if enabled
|
||||
if minetest.get_modpath("bakedclay") then
|
||||
flowers[7] = "bakedclay:delphinium"
|
||||
flowers[8] = "bakedclay:thistle"
|
||||
flowers[9] = "bakedclay:lazarus"
|
||||
flowers[10] = "bakedclay:mannagrass"
|
||||
flowers[11] = ""
|
||||
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
|
||||
@ -202,11 +212,8 @@ local function check_crops(pos, nodename, strength)
|
||||
particle_effect(pos)
|
||||
|
||||
return
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
@ -216,12 +223,23 @@ local function check_soil(pos, nodename, strength)
|
||||
-- set radius according to strength
|
||||
local side = strength - 1
|
||||
local tall = math.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},
|
||||
{"group:soil", "group:sand"})
|
||||
{x = pos.x + side, y = pos.y + tall, z = pos.z + side}, floor)
|
||||
|
||||
-- set default grass and decoration
|
||||
local grass = green_grass
|
||||
@ -400,19 +418,19 @@ function bonemeal:on_use(pos, strength, node)
|
||||
|
||||
default.grow_papyrus(pos, node)
|
||||
particle_effect(pos)
|
||||
|
||||
return
|
||||
|
||||
elseif node.name == "default:cactus" then
|
||||
|
||||
default.grow_cactus(pos, node)
|
||||
particle_effect(pos)
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
-- grow grass and flowers
|
||||
if minetest.get_item_group(node.name, "soil") > 0
|
||||
or minetest.get_item_group(node.name, "sand") > 0 then
|
||||
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
|
||||
end
|
||||
@ -423,8 +441,8 @@ function bonemeal:on_use(pos, strength, node)
|
||||
end
|
||||
|
||||
-- check for tree growth if pointing at sapling
|
||||
if minetest.get_item_group(node.name, "sapling") > 0
|
||||
and math.random(1, (5 - strength)) == 1 then
|
||||
-- if minetest.get_item_group(node.name, "sapling") > 0
|
||||
if math.random(1, (5 - strength)) == 1 then
|
||||
check_sapling(pos, node.name)
|
||||
return
|
||||
end
|
||||
|
21
mods.lua
21
mods.lua
@ -36,6 +36,9 @@ if farming and farming.mod and farming.mod == "redo" then
|
||||
{"farming:pineapple_", 8},
|
||||
{"farming:pea_", 5},
|
||||
{"farming:beetroot_", 5},
|
||||
{"farming:rye_", 8},
|
||||
{"farming:oat_", 8},
|
||||
{"farming:rice_", 8},
|
||||
})
|
||||
end
|
||||
|
||||
@ -60,6 +63,7 @@ if minetest.get_modpath("ethereal") then
|
||||
{"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"},
|
||||
})
|
||||
|
||||
local grass = {"default:grass_3", "default:grass_4", "default:grass_5", ""}
|
||||
@ -120,3 +124,20 @@ elseif minetest.get_modpath("technic_worldgen") then
|
||||
{"moretrees:rubber_tree_sapling", technic.rubber_tree_model, "soil"},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if minetest.get_modpath("caverealms") then
|
||||
|
||||
local fil = minetest.get_modpath("caverealms") .. "/schematics/shroom.mts"
|
||||
local add_shroom = function(pos)
|
||||
|
||||
minetest.swap_node(pos, {name = "air"})
|
||||
|
||||
minetest.place_schematic(
|
||||
{x = pos.x - 5, y = pos.y, z = pos.z - 5}, fil, 0, nil, false)
|
||||
end
|
||||
|
||||
bonemeal:add_sapling({
|
||||
{"caverealms:mushroom_sapling", add_shroom, "soil"},
|
||||
})
|
||||
end
|
||||
|
Reference in New Issue
Block a user