Use flowers mod waterlily, remove flowers_plus waterlily
|
@ -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")
|
||||
|
|
|
@ -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."))
|
||||
|
||||
|
|
Before Width: | Height: | Size: 412 B |
Before Width: | Height: | Size: 409 B |
Before Width: | Height: | Size: 421 B |
Before Width: | Height: | Size: 435 B |
Before Width: | Height: | Size: 468 B |
Before Width: | Height: | Size: 472 B |
Before Width: | Height: | Size: 422 B |
Before Width: | Height: | Size: 219 B |
|
@ -2,3 +2,4 @@ plants_api
|
|||
base
|
||||
mapgen_core
|
||||
technic
|
||||
flowers
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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({
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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({
|
||||
|
|
|
@ -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",
|
||||
|
|