Use flowers mod waterlily, remove flowers_plus waterlily

master
vlapsley 2017-09-20 08:08:51 +10:00
parent d7d4cdb1ca
commit 6ebe648174
17 changed files with 107 additions and 187 deletions

View File

@ -1,13 +1,12 @@
--[[
Flowers
--]]
-- Namespace for functions
flowers = {}
--[[
Flowers
--]]
-- Flower registration
local function add_simple_flower(name, desc, box, f_groups)
@ -249,3 +248,6 @@ minetest.register_node("flowers:waterlily", {
return itemstack
end
})
-- Aliases for schematic nodes
minetest.register_alias("default:dirt", "base:dirt")

View File

@ -9,126 +9,11 @@ flowers_plus = {}
local SPAWN_DELAY = 1000
local SPAWN_CHANCE = 200
local flowers_seed_diff = 329
local lilies_max_count = 320
local lilies_rarity = 33
local seaweed_max_count = 320
local seaweed_rarity = 33
local sunflowers_max_count = 10
local sunflowers_rarity = 25
-- register the various rotations of waterlilies
local lilies_list = {
{ nil , nil , 1 },
{ "225", "22.5" , 2 },
{ "45" , "45" , 3 },
{ "675", "67.5" , 4 },
{ "s1" , "small_1" , 5 },
{ "s2" , "small_2" , 6 },
{ "s3" , "small_3" , 7 },
{ "s4" , "small_4" , 8 },
}
for i in ipairs(lilies_list) do
local deg1 = ""
local deg2 = ""
local lily_groups = {snappy = 3,flammable=2,flower=1}
if lilies_list[i][1] ~= nil then
deg1 = "_"..lilies_list[i][1]
deg2 = "_"..lilies_list[i][2]
lily_groups = { snappy = 3,flammable=2,flower=1, not_in_creative_inventory=1 }
end
minetest.register_node(":flowers:waterlily"..deg1, {
description = S("Waterlily"),
drawtype = "nodebox",
tiles = {
"flowers_waterlily"..deg2..".png",
"flowers_waterlily"..deg2..".png^[transformFY"
},
inventory_image = "flowers_waterlily.png",
wield_image = "flowers_waterlily.png",
sunlight_propagates = true,
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
groups = lily_groups,
sounds = base.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = { -0.4, -0.5, -0.4, 0.4, -0.45, 0.4 },
},
node_box = {
type = "fixed",
fixed = { -0.5, -0.49, -0.5, 0.5, -0.49, 0.5 },
},
buildable_to = true,
node_placement_prediction = "",
liquids_pointable = true,
drop = "flowers:waterlily",
on_place = function(itemstack, placer, pointed_thing)
local keys=placer:get_player_control()
local pt = pointed_thing
local place_pos = nil
local top_pos = {x=pt.under.x, y=pt.under.y+1, z=pt.under.z}
local under_node = minetest.get_node(pt.under)
local above_node = minetest.get_node(pt.above)
local top_node = minetest.get_node(top_pos)
if biome_lib:get_nodedef_field(under_node.name, "buildable_to") then
if under_node.name ~= "base:water_source" then
place_pos = pt.under
elseif top_node.name ~= "base:water_source"
and biome_lib:get_nodedef_field(top_node.name, "buildable_to") then
place_pos = top_pos
else
return
end
elseif biome_lib:get_nodedef_field(above_node.name, "buildable_to") then
place_pos = pt.above
end
if place_pos and not minetest.is_protected(place_pos, placer:get_player_name()) then
local nodename = "base:cobble" -- if this block appears, something went....wrong :-)
if not keys["sneak"] then
local node = minetest.get_node(pt.under)
local waterlily = math.random(1,8)
if waterlily == 1 then
nodename = "flowers:waterlily"
elseif waterlily == 2 then
nodename = "flowers:waterlily_225"
elseif waterlily == 3 then
nodename = "flowers:waterlily_45"
elseif waterlily == 4 then
nodename = "flowers:waterlily_675"
elseif waterlily == 5 then
nodename = "flowers:waterlily_s1"
elseif waterlily == 6 then
nodename = "flowers:waterlily_s2"
elseif waterlily == 7 then
nodename = "flowers:waterlily_s3"
elseif waterlily == 8 then
nodename = "flowers:waterlily_s4"
end
minetest.set_node(place_pos, {name = nodename, param2 = math.random(0,3) })
else
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
minetest.set_node(place_pos, {name = "flowers:waterlily", param2 = fdir})
end
if not biome_lib.expect_infinite_stacks then
itemstack:take_item()
end
return itemstack
end
end,
})
end
local algae_list = { {nil}, {2}, {3}, {4} }
@ -256,24 +141,13 @@ minetest.register_node(":flowers:sunflower", {
}
})
local extra_aliases = {
"waterlily",
"waterlily_225",
"waterlily_45",
"waterlily_675",
"seaweed"
}
local extra_aliases = {"seaweed"}
for i in ipairs(extra_aliases) do
local flower = extra_aliases[i]
minetest.register_alias("flowers:flower_"..flower, "flowers:"..flower)
end
minetest.register_alias( "trunks:lilypad" , "flowers:waterlily_s1" )
minetest.register_alias( "along_shore:lilypads_1" , "flowers:waterlily_s1" )
minetest.register_alias( "along_shore:lilypads_2" , "flowers:waterlily_s2" )
minetest.register_alias( "along_shore:lilypads_3" , "flowers:waterlily_s3" )
minetest.register_alias( "along_shore:lilypads_4" , "flowers:waterlily_s4" )
minetest.register_alias( "along_shore:pondscum_1" , "flowers:seaweed" )
minetest.register_alias( "along_shore:seaweed_1" , "flowers:seaweed" )
minetest.register_alias( "along_shore:seaweed_2" , "flowers:seaweed_2" )
@ -282,38 +156,6 @@ minetest.register_alias( "along_shore:seaweed_4" , "flowers:seaweed_4" )
-- ongen registrations
flowers_plus.grow_waterlily = function(pos)
local right_here = {x=pos.x, y=pos.y+1, z=pos.z}
for i in ipairs(lilies_list) do
local chance = math.random(1,8)
local ext = ""
local num = lilies_list[i][3]
if lilies_list[i][1] ~= nil then
ext = "_"..lilies_list[i][1]
end
if chance == num then
minetest.set_node(right_here, {name="flowers:waterlily"..ext, param2=math.random(0,3)})
end
end
end
biome_lib:register_generate_plant({
surface = {"base:river_water_source", "base:muddy_water_source"},
max_count = lilies_max_count,
rarity = lilies_rarity,
min_elevation = 1,
max_elevation = 25,
near_nodes = {"base:dirt_with_grass"},
near_nodes_size = 4,
near_nodes_vertical = 1,
near_nodes_count = 1,
plantlife_limit = -0.9,
},
flowers_plus.grow_waterlily
)
flowers_plus.grow_seaweed = function(pos)
local right_here = {x=pos.x, y=pos.y+1, z=pos.z}
minetest.set_node(right_here, {name="along_shore:seaweed_"..math.random(1,4), param2=math.random(1,3)})
@ -368,28 +210,6 @@ biome_lib:register_generate_plant({
-- spawn ABM registrations
biome_lib:spawn_on_surfaces({
spawn_delay = SPAWN_DELAY/2,
spawn_plants = {
"flowers:waterlily",
"flowers:waterlily_225",
"flowers:waterlily_45",
"flowers:waterlily_675",
"flowers:waterlily_s1",
"flowers:waterlily_s2",
"flowers:waterlily_s3",
"flowers:waterlily_s4"
},
avoid_radius = 2.5,
spawn_chance = SPAWN_CHANCE*4,
spawn_surfaces = {"base:river_water_source", "base:muddy_water_source"},
avoid_nodes = {"group:flower", "group:flora" },
seed_diff = flowers_seed_diff,
light_min = 9,
depth_max = 2,
random_facedir = {0,3}
})
biome_lib:spawn_on_surfaces({
spawn_delay = SPAWN_DELAY*2,
spawn_plants = {"flowers:seaweed"},
@ -432,4 +252,3 @@ biome_lib:spawn_on_surfaces({
})
print(S("[Flowers] Loaded."))

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

View File

@ -2,3 +2,4 @@ plants_api
base
mapgen_core
technic
flowers

View File

@ -224,6 +224,22 @@ plants_api.register_plant({
end,
})
-- Waterlily
minetest.register_decoration({
deco_type = "schematic",
place_on = {
"base:dirt",
"base:sand",
},
sidelen = 80,
fill_ratio = 0.3,
biomes = {"eastern_coasts"},
y_min = 0,
y_max = 96,
schematic = minetest.get_modpath("flowers") .. "/schematics/waterlily.mts",
rotation = "random",
})
-- Snow
minetest.register_decoration({
deco_type = "simple",

View File

@ -153,6 +153,22 @@ plants_api.register_plant({
end,
})
-- Waterlily
minetest.register_decoration({
deco_type = "schematic",
place_on = {
"base:dirt",
"base:sand",
},
sidelen = 80,
fill_ratio = 0.3,
biomes = {"far_north_queensland"},
y_min = 0,
y_max = 96,
schematic = minetest.get_modpath("flowers") .. "/schematics/waterlily.mts",
rotation = "random",
})
-- Small stone rocks
local function register_small_stone_rocks(number)
minetest.register_decoration({

View File

@ -94,6 +94,23 @@ minetest.register_decoration({
flags = "force_placement",
})
-- Waterlily
minetest.register_decoration({
deco_type = "schematic",
place_on = {
"base:dirt",
"base:mangrove_mud",
"base:sand",
},
sidelen = 80,
fill_ratio = 0.3,
biomes = {"mangroves"},
y_min = 0,
y_max = 3,
schematic = minetest.get_modpath("flowers") .. "/schematics/waterlily.mts",
rotation = "random",
})
--[[
Trees

View File

@ -154,6 +154,23 @@ end
register_rivergrass(5)
register_rivergrass(4)
-- Waterlily
minetest.register_decoration({
deco_type = "schematic",
place_on = {
"base:dirt",
"base:sand",
"base:shale",
},
sidelen = 80,
fill_ratio = 0.3,
biomes = {"tasmania"},
y_min = 0,
y_max = 96,
schematic = minetest.get_modpath("flowers") .. "/schematics/waterlily.mts",
rotation = "random",
})
-- Snow
minetest.register_decoration({
deco_type = "simple",

View File

@ -237,6 +237,22 @@ plants_api.register_plant({
end,
})
-- Waterlily
minetest.register_decoration({
deco_type = "schematic",
place_on = {
"base:dirt",
"base:sand",
},
sidelen = 80,
fill_ratio = 0.3,
biomes = {"top_end"},
y_min = 0,
y_max = 96,
schematic = minetest.get_modpath("flowers") .. "/schematics/waterlily.mts",
rotation = "random",
})
-- Small sandstone rocks
local function register_small_sandstone_rocks(number)
minetest.register_decoration({

View File

@ -137,6 +137,22 @@ plants_api.register_plant({
end,
})
-- Waterlily
minetest.register_decoration({
deco_type = "schematic",
place_on = {
"base:dirt",
"base:sand",
},
sidelen = 80,
fill_ratio = 0.3,
biomes = {"victoria"},
y_min = 0,
y_max = 96,
schematic = minetest.get_modpath("flowers") .. "/schematics/waterlily.mts",
rotation = "random",
})
-- Snow
minetest.register_decoration({
deco_type = "simple",