Grow seagrass and algae on sand

master
Wuzzy 2022-06-05 11:43:21 +02:00
parent acd3ed030d
commit 79a5298f43
4 changed files with 28 additions and 3 deletions

View File

@ -724,6 +724,8 @@ minetest.register_abm( -- seagrass dies if not underwater
minetest.set_node(pos, {name = "rp_default:dirt"})
elseif node.name == "rp_default:seagrass_on_swamp_dirt" or node.name == "rp_default:tall_seagrass_on_swamp_dirt" then
minetest.set_node(pos, {name = "rp_default:swamp_dirt"})
elseif node.name == "rp_default:seagrass_on_sand" or node.name == "rp_default:tall_seagrass_on_sand" then
minetest.set_node(pos, {name = "rp_default:sand"})
end
end
end
@ -756,6 +758,8 @@ minetest.register_abm( -- algae die/become smaller if not fully underwater
minetest.set_node(pos, {name = "rp_default:dirt"})
elseif node.name == "rp_default:alga_on_swamp_dirt" then
minetest.set_node(pos, {name = "rp_default:swamp_dirt"})
elseif node.name == "rp_default:alga_on_sand" then
minetest.set_node(pos, {name = "rp_default:sand"})
elseif node.name == "rp_default:alga_on_alga_block" then
minetest.set_node(pos, {name = "rp_default:alga_block"})
end

View File

@ -1112,10 +1112,14 @@ return function(itemstack, placer, pointed_thing)
node_floor.name = "rp_default:"..base.."_on_dirt"
elseif node_floor.name == "rp_default:swamp_dirt" then
node_floor.name = "rp_default:"..base.."_on_swamp_dirt"
elseif node_floor.name == "rp_default:sand" then
node_floor.name = "rp_default:"..base.."_on_sand"
elseif node_floor.name == "rp_default:fertilized_dirt" then
node_floor.name = "rp_default:"..base.."_on_fertilized_dirt"
elseif node_floor.name == "rp_default:fertilized_swamp_dirt" then
node_floor.name = "rp_default:"..base.."_on_fertilized_swamp_dirt"
elseif node_floor.name == "rp_default:fertilized_sand" then
node_floor.name = "rp_default:"..base.."_on_fertilized_sand"
elseif base == "alga" and node_floor.name == "rp_default:alga_block" then
node_floor.name = "rp_default:"..base.."_on_alga_block"
else
@ -1146,6 +1150,10 @@ end
local register_seagrass = function(plant_id, selection_box, drop, append, basenode, basenode_tiles, _on_trim, fertilize_info)
local groups = {snappy = 2, dig_immediate = 3, seagrass = 1, grass = 1, green_grass = 1, plant = 1, rooted_plant = 1}
local _fertilized_node
local def_base = minetest.registered_nodes[basenode]
if minetest.get_item_group(basenode, "fall_damage_add_percent") ~= 0 then
groups.fall_damage_add_percent = def_base.groups.fall_damage_add_percent
end
if fertilize_info == true then
groups.plantable_fertilize_info = 1
elseif type(fertilize_info) == "string" then
@ -1217,7 +1225,7 @@ end
minetest.register_craftitem("rp_default:tall_seagrass", {
description = S("Tall Seagrass Clump"),
_tt_help = S("Grows underwater on dirt or swamp dirt"),
_tt_help = S("Grows underwater on dirt, swamp dirt or sand"),
inventory_image = "rp_default_tall_seagrass_clump_inventory.png",
wield_image = "rp_default_tall_seagrass_clump_inventory.png",
on_place = get_sea_plant_on_place("tall_seagrass", "wallmounted"),
@ -1225,7 +1233,7 @@ minetest.register_craftitem("rp_default:tall_seagrass", {
})
minetest.register_craftitem("rp_default:seagrass", {
description = S("Seagrass Clump"),
_tt_help = S("Grows underwater on dirt or swamp dirt"),
_tt_help = S("Grows underwater on dirt, swamp dirt or sand"),
inventory_image = "rp_default_seagrass_clump_inventory.png",
wield_image = "rp_default_seagrass_clump_inventory.png",
on_place = get_sea_plant_on_place("seagrass", "wallmounted"),
@ -1234,12 +1242,16 @@ minetest.register_craftitem("rp_default:seagrass", {
register_seagrass_on("dirt", "rp_default:dirt", {{name="default_dirt.png",backface_culling=true}}, "fertilized_dirt")
register_seagrass_on("swamp_dirt", "rp_default:swamp_dirt", {{name="default_swamp_dirt.png", backface_culling=true}}, "fertilized_swamp_dirt")
register_seagrass_on("sand", "rp_default:sand", {{name="default_sand.png",backface_culling=true}}, "fertilized_sand")
register_seagrass_on("fertilized_dirt", "rp_default:fertilized_dirt",
{{name="default_dirt.png^default_fertilizer.png", backface_culling=true},
{name="default_dirt.png",backface_culling=true}}, true)
register_seagrass_on("fertilized_swamp_dirt", "rp_default:fertilized_swamp_dirt",
{{name="default_swamp_dirt.png^default_fertilizer.png", backface_culling=true},
{name="default_swamp_dirt.png",backface_culling=true}}, true)
register_seagrass_on("fertilized_sand", "rp_default:fertilized_sand",
{{name="default_sand.png^default_fertilizer.png", backface_culling=true},
{name="default_sand.png",backface_culling=true}}, true)
-- Alga
local register_alga_on = function(append, basenode, basenode_tiles, max_height, fertilize_info)
@ -1247,6 +1259,10 @@ local register_alga_on = function(append, basenode, basenode_tiles, max_height,
max_height = 15
end
local groups = {snappy = 2, dig_immediate = 3, alga = 1, plant = 1, rooted_plant = 1}
local def_base = minetest.registered_nodes[basenode]
if minetest.get_item_group(basenode, "fall_damage_add_percent") ~= 0 then
groups.fall_damage_add_percent = def_base.groups.fall_damage_add_percent
end
local _fertilized_node, _unfertilized_node
if fertilize_info == true then
groups.plantable_fertilize_info = 1
@ -1347,7 +1363,7 @@ end
minetest.register_craftitem("rp_default:alga", {
description = S("Alga"),
_tt_help = S("Grows underwater on dirt or swamp dirt"),
_tt_help = S("Grows underwater on dirt, swamp dirt, sand or alga block"),
inventory_image = "rp_default_alga_inventory.png",
wield_image = "rp_default_alga_inventory.png",
on_place = get_sea_plant_on_place("alga", "leveled"),
@ -1362,6 +1378,7 @@ local alga_block_tiles = {
register_alga_on("dirt", "rp_default:dirt", {{name="default_dirt.png",backface_culling=true}}, 5, "fertilized_dirt")
register_alga_on("swamp_dirt", "rp_default:swamp_dirt", {{name="default_swamp_dirt.png",backface_culling=true}}, 7, "fertilized_swamp_dirt")
register_alga_on("sand", "rp_default:sand", {{name="default_sand.png",backface_culling=true}}, 3, "fertilized_sand")
register_alga_on("alga_block", "rp_default:alga_block", alga_block_tiles, 10)
register_alga_on("fertilized_dirt", "rp_default:fertilized_dirt",
{{name="default_dirt.png^default_fertilizer.png",backface_culling=true},
@ -1371,6 +1388,10 @@ register_alga_on("fertilized_swamp_dirt", "rp_default:fertilized_swamp_dirt",
{{name="default_swamp_dirt.png^default_fertilizer.png",backface_culling=true},
{name="default_swamp_dirt.png",backface_culling=true}},
9, true)
register_alga_on("fertilized_sand", "rp_default:fertilized_sand",
{{name="default_sand.png^default_fertilizer.png", backface_culling=true},
{name="default_sand.png",backface_culling=true}},
4, true)
-- Alga Block
minetest.register_node(

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB