Made bushes also spawn on wet or dry farming soil

(at the same rates as anywhere else)

Slowed down overall berry regrowth and at the same time make it so that
if a bush is planted on wet farming soil, it will re-grow its berries
faster, provided the soil remains wet.

On average, a wild bush will regrow its berries 50% slower than before,
while a farmed bush will regrow its berries twice as fast as the wild
ones did before (about 3x faster than wild ones do now).
This commit is contained in:
Vanessa Ezekowitz 2013-11-03 17:46:15 -05:00
parent 94e21c0cf6
commit 7931470ddb
2 changed files with 13 additions and 7 deletions

View File

@ -37,7 +37,9 @@ plantslib:spawn_on_surfaces({
"default:dirt_with_grass", "default:dirt_with_grass",
"woodsoils:dirt_with_leaves_1", "woodsoils:dirt_with_leaves_1",
"woodsoils:grass_with_leaves_1", "woodsoils:grass_with_leaves_1",
"woodsoils:grass_with_leaves_2" "woodsoils:grass_with_leaves_2",
"farming:soil",
"farming:soil_wet"
}, },
avoid_nodes = {"group:bush"}, avoid_nodes = {"group:bush"},
seed_diff = 545342534, -- chosen by a fair mashing of the keyboard - guaranteed to be random :P seed_diff = 545342534, -- chosen by a fair mashing of the keyboard - guaranteed to be random :P

View File

@ -123,13 +123,17 @@ end
minetest.register_abm({ minetest.register_abm({
nodenames = { "bushes:fruitless_bush" }, nodenames = { "bushes:fruitless_bush" },
interval = 500, interval = 500,
chance = 10, chance = 5,
action = function(pos, node, active_object_count, active_object_count_wider) action = function(pos, node, active_object_count, active_object_count_wider)
local meta = minetest.env:get_meta( pos ); local meta = minetest.env:get_meta( pos );
local bush_name = meta:get_string( 'bush_type' ); local bush_name = meta:get_string( 'bush_type' );
if( bush_name ~= nil and bush_name ~= '' ) then if( bush_name ~= nil and bush_name ~= '' ) then
minetest.env:set_node( pos, {type='node',name='bushes:'..bush_name..'_bush'}); local dirtpos = { x = pos.x, y = pos.y-1, z = pos.z }
local dirt = minetest.get_node(dirtpos)
if dirt.name == "farming:soil_wet" or math.random(1,3) == 1 then
minetest.env:set_node( pos, {type='node',name='bushes:'..bush_name..'_bush'})
end
end end
end end
}) })