summaryrefslogtreecommitdiff
path: root/flowers_plus
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 21:00:20 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 21:10:04 -0400
commit888b0ebfec8c2eff9015163549a7e47443cb8665 (patch)
tree915080159bfaa6ba6e226087c7ce0e8d5464b518 /flowers_plus
parentda66780a569712c23ae4f2996cfb4608a9f9d69d (diff)
downloaddreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.tar
dreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.tar.gz
dreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.tar.bz2
dreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.tar.xz
dreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.zip
"explode" all modpacks into their individual components
(you can't have a modpack buried inside a modpack)
Diffstat (limited to 'flowers_plus')
-rw-r--r--flowers_plus/depends.txt2
-rw-r--r--flowers_plus/flowers-changelog.txt24
-rw-r--r--flowers_plus/init.lua479
-rw-r--r--flowers_plus/locale/de.txt13
-rw-r--r--flowers_plus/locale/fr.txt13
-rw-r--r--flowers_plus/locale/template.txt13
-rw-r--r--flowers_plus/models/flowers_sunflower.obj73
-rw-r--r--flowers_plus/textures/flowers_seaweed.pngbin0 -> 234 bytes
-rw-r--r--flowers_plus/textures/flowers_seaweedLight.pngbin0 -> 222 bytes
-rw-r--r--flowers_plus/textures/flowers_seaweed_2.pngbin0 -> 224 bytes
-rw-r--r--flowers_plus/textures/flowers_seaweed_3.pngbin0 -> 226 bytes
-rw-r--r--flowers_plus/textures/flowers_seaweed_4.pngbin0 -> 178 bytes
-rw-r--r--flowers_plus/textures/flowers_sunflower.pngbin0 -> 811 bytes
-rw-r--r--flowers_plus/textures/flowers_sunflower_inv.pngbin0 -> 378 bytes
-rw-r--r--flowers_plus/textures/flowers_waterlily.pngbin0 -> 412 bytes
-rw-r--r--flowers_plus/textures/flowers_waterlily_22.5.pngbin0 -> 409 bytes
-rw-r--r--flowers_plus/textures/flowers_waterlily_45.pngbin0 -> 421 bytes
-rw-r--r--flowers_plus/textures/flowers_waterlily_67.5.pngbin0 -> 435 bytes
-rw-r--r--flowers_plus/textures/flowers_waterlily_small_1.pngbin0 -> 468 bytes
-rw-r--r--flowers_plus/textures/flowers_waterlily_small_2.pngbin0 -> 472 bytes
-rw-r--r--flowers_plus/textures/flowers_waterlily_small_3.pngbin0 -> 422 bytes
-rw-r--r--flowers_plus/textures/flowers_waterlily_small_4.pngbin0 -> 219 bytes
-rw-r--r--flowers_plus/textures/tr.txt14
23 files changed, 631 insertions, 0 deletions
diff --git a/flowers_plus/depends.txt b/flowers_plus/depends.txt
new file mode 100644
index 0000000..37952da
--- /dev/null
+++ b/flowers_plus/depends.txt
@@ -0,0 +1,2 @@
+biome_lib
+farming?
diff --git a/flowers_plus/flowers-changelog.txt b/flowers_plus/flowers-changelog.txt
new file mode 100644
index 0000000..fbe7518
--- /dev/null
+++ b/flowers_plus/flowers-changelog.txt
@@ -0,0 +1,24 @@
+Changelog
+---------
+
+2012-08-06: Tweaked selection boxes on all nodes. Tweaked seaweed to use
+signlike instead of raillike drawtype, (still forced to only spawn flat as
+usual). Adjusted light level limits to give it more time to grow. Created
+this changelog file using github commit messages as the basis. Shrunk the
+geranium flower down a bit to better match the others.
+
+2012-08-03: Tuned out the random-numbers-inside-ABM stuff. Uses the ABM's
+chance setting instead. Should be approximately the same as before, but
+hopefully using a tad less CPU. Minor tweak to ABM interval/growing delay.
+
+2012-08-01: Added blue geranium to the collection of flowers.
+
+2012-07-31: Disable debug by default.
+
+2012-07-30: many updates over the course of the day - first commit, removed
+some redundant files, added wield/inventory image entries for each item, to
+force the game to draw them properly (these shouldn't be needed, must be a
+bug). Tweaked spawn code so that the radius check also includes the name of
+the item being spawned as well as items in group:flower, that way all items can
+have a radius test, and not just those in group:flower. Fiddled with the spawn
+rates a bit.
diff --git a/flowers_plus/init.lua b/flowers_plus/init.lua
new file mode 100644
index 0000000..f8aa93d
--- /dev/null
+++ b/flowers_plus/init.lua
@@ -0,0 +1,479 @@
+local S = biome_lib.intllib
+
+-- This file supplies a few additional plants and some related crafts
+-- for the plantlife modpack. Last revision: 2013-04-24
+
+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 = default.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,
+
+ 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 ~= "default:water_source" then
+ place_pos = pt.under
+ elseif top_node.name ~= "default: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 = "default: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} }
+
+for i in ipairs(algae_list) do
+ local num = ""
+ local algae_groups = {snappy = 3,flammable=2,flower=1}
+
+ if algae_list[i][1] ~= nil then
+ num = "_"..algae_list[i][1]
+ algae_groups = { snappy = 3,flammable=2,flower=1, not_in_creative_inventory=1 }
+ end
+
+ minetest.register_node(":flowers:seaweed"..num, {
+ description = S("Seaweed"),
+ drawtype = "nodebox",
+ tiles = {
+ "flowers_seaweed"..num..".png",
+ "flowers_seaweed"..num..".png^[transformFY"
+ },
+ inventory_image = "flowers_seaweed_2.png",
+ wield_image = "flowers_seaweed_2.png",
+ sunlight_propagates = true,
+ paramtype = "light",
+ paramtype2 = "facedir",
+ walkable = false,
+ groups = algae_groups,
+ sounds = default.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,
+
+ liquids_pointable = true,
+ drop = "flowers:seaweed",
+ 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 ~= "default:water_source" then
+ place_pos = pt.under
+ elseif top_node.name ~= "default: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 not minetest.is_protected(place_pos, placer:get_player_name()) then
+
+ local nodename = "default:cobble" -- :D
+
+ if not keys["sneak"] then
+ --local node = minetest.get_node(pt.under)
+ local seaweed = math.random(1,4)
+ if seaweed == 1 then
+ nodename = "flowers:seaweed"
+ elseif seaweed == 2 then
+ nodename = "flowers:seaweed_2"
+ elseif seaweed == 3 then
+ nodename = "flowers:seaweed_3"
+ elseif seaweed == 4 then
+ nodename = "flowers:seaweed_4"
+ 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:seaweed", param2 = fdir})
+ end
+
+ if not biome_lib.expect_infinite_stacks then
+ itemstack:take_item()
+ end
+ return itemstack
+ end
+ end,
+ })
+end
+
+local box = {
+ type="fixed",
+ fixed = { { -0.2, -0.5, -0.2, 0.2, 0.5, 0.2 } },
+}
+
+local sunflower_drop = "farming:seed_wheat"
+if minetest.registered_items["farming:seed_spelt"] then
+ sunflower_drop = "farming:seed_spelt"
+end
+
+minetest.register_node(":flowers:sunflower", {
+ description = "Sunflower",
+ drawtype = "mesh",
+ paramtype = "light",
+ paramtype2 = "facedir",
+ inventory_image = "flowers_sunflower_inv.png",
+ mesh = "flowers_sunflower.obj",
+ tiles = { "flowers_sunflower.png" },
+ walkable = false,
+ buildable_to = true,
+ is_ground_content = true,
+ groups = { dig_immediate=3, flora=1, flammable=3 },
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = box,
+ collision_box = box,
+ drop = {
+ max_items = 1,
+ items = {
+ {items = {sunflower_drop}, rarity = 8},
+ {items = {"flowers:sunflower"}},
+ }
+ }
+})
+
+local extra_aliases = {
+ "waterlily",
+ "waterlily_225",
+ "waterlily_45",
+ "waterlily_675",
+ "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" )
+minetest.register_alias( "along_shore:seaweed_3" , "flowers:seaweed_3" )
+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 = {"default:water_source"},
+ max_count = lilies_max_count,
+ rarity = lilies_rarity,
+ min_elevation = 1,
+ max_elevation = 40,
+ near_nodes = {"default:dirt_with_grass"},
+ near_nodes_size = 4,
+ near_nodes_vertical = 1,
+ near_nodes_count = 1,
+ plantlife_limit = -0.9,
+ temp_max = -0.22,
+ temp_min = 0.22,
+ },
+ 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)})
+end
+
+biome_lib:register_generate_plant({
+ surface = {"default:water_source"},
+ max_count = seaweed_max_count,
+ rarity = seaweed_rarity,
+ min_elevation = 1,
+ max_elevation = 40,
+ near_nodes = {"default:dirt_with_grass"},
+ near_nodes_size = 4,
+ near_nodes_vertical = 1,
+ near_nodes_count = 1,
+ plantlife_limit = -0.9,
+ },
+ flowers_plus.grow_seaweed
+)
+
+-- seaweed at beaches
+-- MM: not satisfied with it, but IMHO some beaches should have some algae
+biome_lib:register_generate_plant({
+ surface = {"default:water_source"},
+ max_count = seaweed_max_count,
+ rarity = seaweed_rarity,
+ min_elevation = 1,
+ max_elevation = 40,
+ near_nodes = {"default:sand"},
+ near_nodes_size = 1,
+ near_nodes_vertical = 0,
+ near_nodes_count = 3,
+ plantlife_limit = -0.9,
+ temp_max = -0.64, -- MM: more or less random values, just to make sure it's not everywhere
+ temp_min = -0.22, -- MM: more or less random values, just to make sure it's not everywhere
+ },
+ flowers_plus.grow_seaweed
+)
+biome_lib:register_generate_plant({
+ surface = {"default:sand"},
+ max_count = seaweed_max_count*2,
+ rarity = seaweed_rarity/2,
+ min_elevation = 1,
+ max_elevation = 40,
+ near_nodes = {"default:water_source"},
+ near_nodes_size = 1,
+ near_nodes_vertical = 0,
+ near_nodes_count = 3,
+ plantlife_limit = -0.9,
+ temp_max = -0.64, -- MM: more or less random values, just to make sure it's not everywhere
+ temp_min = -0.22, -- MM: more or less random values, just to make sure it's not everywhere
+ },
+ flowers_plus.grow_seaweed
+)
+
+biome_lib:register_generate_plant({
+ surface = {"default:dirt_with_grass"},
+ avoid_nodes = { "flowers:sunflower" },
+ max_count = sunflowers_max_count,
+ rarity = sunflowers_rarity,
+ min_elevation = 0,
+ plantlife_limit = -0.9,
+ temp_max = 0.53,
+ random_facedir = {0,3},
+ },
+ "flowers:sunflower"
+)
+
+-- 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 = {"default: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"},
+ spawn_chance = SPAWN_CHANCE*2,
+ spawn_surfaces = {"default:water_source"},
+ avoid_nodes = {"group:flower", "group:flora"},
+ seed_diff = flowers_seed_diff,
+ light_min = 4,
+ light_max = 10,
+ neighbors = {"default:dirt_with_grass"},
+ facedir = 1
+})
+
+biome_lib:spawn_on_surfaces({
+ spawn_delay = SPAWN_DELAY*2,
+ spawn_plants = {"flowers:seaweed"},
+ spawn_chance = SPAWN_CHANCE*2,
+ spawn_surfaces = {"default:dirt_with_grass"},
+ avoid_nodes = {"group:flower", "group:flora" },
+ seed_diff = flowers_seed_diff,
+ light_min = 4,
+ light_max = 10,
+ neighbors = {"default:water_source"},
+ ncount = 1,
+ facedir = 1
+})
+
+biome_lib:spawn_on_surfaces({
+ spawn_delay = SPAWN_DELAY*2,
+ spawn_plants = {"flowers:seaweed"},
+ spawn_chance = SPAWN_CHANCE*2,
+ spawn_surfaces = {"default:stone"},
+ avoid_nodes = {"group:flower", "group:flora" },
+ seed_diff = flowers_seed_diff,
+ light_min = 4,
+ light_max = 10,
+ neighbors = {"default:water_source"},
+ ncount = 6,
+ facedir = 1
+})
+
+biome_lib:spawn_on_surfaces({
+ spawn_delay = SPAWN_DELAY*2,
+ spawn_plants = {"flowers:sunflower"},
+ spawn_chance = SPAWN_CHANCE*2,
+ spawn_surfaces = {"default:dirt_with_grass"},
+ avoid_nodes = {"group:flower", "flowers:sunflower"},
+ seed_diff = flowers_seed_diff,
+ light_min = 11,
+ light_max = 14,
+ min_elevation = 0,
+ plantlife_limit = -0.9,
+ temp_max = 0.53,
+ random_facedir = {0,3},
+ avoid_radius = 5
+})
+
+-- Cotton plants are now provided by the default "farming" mod.
+-- old cotton plants -> farming cotton stage 8
+-- cotton wads -> string (can be crafted into wool blocks)
+-- potted cotton plants -> potted white dandelions
+
+minetest.register_alias("flowers:cotton_plant", "farming:cotton_8")
+minetest.register_alias("flowers:flower_cotton", "farming:cotton_8")
+minetest.register_alias("flowers:flower_cotton_pot", "flowers:potted_dandelion_white")
+minetest.register_alias("flowers:potted_cotton_plant", "flowers:potted_dandelion_white")
+minetest.register_alias("flowers:cotton", "farming:string")
+minetest.register_alias("flowers:cotton_wad", "farming:string")
+minetest.register_alias("sunflower:sunflower", "flowers:sunflower")
+
+print(S("[Flowers] Loaded."))
diff --git a/flowers_plus/locale/de.txt b/flowers_plus/locale/de.txt
new file mode 100644
index 0000000..5195be7
--- /dev/null
+++ b/flowers_plus/locale/de.txt
@@ -0,0 +1,13 @@
+# Translation by Xanthin
+
+Waterlily = Seerose
+Seaweed = Seetang
+Potted Rose = Eingetopfte Rose
+Potted Tulip = Eingetopfte Tulpe
+Potted Yellow Dandelion = Eingetopfter Loewenzahn
+Potted White Dandelion = Eingetopfte Pusteblume
+Potted Blue Geranium = Eingetopfte blaue Geranie
+Potted Viola = Eingetopftes Veilchen
+Flower Pot = Blumentopf
+
+[Flowers] Loaded. = [Flowers] Geladen.
diff --git a/flowers_plus/locale/fr.txt b/flowers_plus/locale/fr.txt
new file mode 100644
index 0000000..c4f4737
--- /dev/null
+++ b/flowers_plus/locale/fr.txt
@@ -0,0 +1,13 @@
+# Template
+
+Waterlily = Nénuphar
+Seaweed = Algues
+Potted Rose = Rose en pot
+Potted Tulip = Tulipe en pot
+Potted Yellow Dandelion = Pissenlit jaune en pot
+Potted White Dandelion = Pissenlit blanc en pot
+Potted Blue Geranium = Géranium bleu en pot
+Potted Viola = Violette en pot
+Flower Pot = Fleurs en pot
+
+[Flowers] Loaded. = [Fleurs] Chargées.
diff --git a/flowers_plus/locale/template.txt b/flowers_plus/locale/template.txt
new file mode 100644
index 0000000..42ac830
--- /dev/null
+++ b/flowers_plus/locale/template.txt
@@ -0,0 +1,13 @@
+# Template
+
+Waterlily =
+Seaweed =
+Potted Rose =
+Potted Tulip =
+Potted Yellow Dandelion =
+Potted White Dandelion =
+Potted Blue Geranium =
+Potted Viola =
+Flower Pot =
+
+[Flowers] Loaded. =
diff --git a/flowers_plus/models/flowers_sunflower.obj b/flowers_plus/models/flowers_sunflower.obj
new file mode 100644
index 0000000..35beb8d
--- /dev/null
+++ b/flowers_plus/models/flowers_sunflower.obj
@@ -0,0 +1,73 @@
+# Blender v2.70 (sub 0) OBJ File: 'sunflower.blend'
+# www.blender.org
+mtllib sunflower_sunflower.mtl
+o Cube
+v -0.015625 -0.500000 0.028125
+v -0.015625 -0.500000 -0.028125
+v 0.028125 -0.500000 -0.028125
+v 0.028125 -0.500000 0.028125
+v -0.015625 0.790890 0.028125
+v -0.015625 0.689140 -0.028125
+v 0.028125 0.689140 -0.028125
+v 0.028125 0.790890 0.028125
+v 0.250000 0.533494 -0.125000
+v -0.250000 0.533494 -0.125000
+v 0.250000 0.966506 0.125000
+v -0.250000 0.966506 0.125000
+v 0.267063 0.373606 -0.088749
+v 0.044375 0.303464 -0.141576
+v 0.239202 0.473737 0.108253
+v -0.008452 0.378817 0.108253
+v 0.017721 0.016639 -0.112053
+v -0.231280 0.110242 -0.115181
+v -0.030356 -0.036246 0.146223
+v -0.252831 0.028885 0.088910
+v 0.062500 0.641747 -0.057917
+v -0.106953 0.097386 -0.113617
+v -0.006318 -0.053008 0.024707
+v 0.118968 0.360674 0.006909
+v 0.116101 0.452031 0.108253
+v 0.017962 0.298392 -0.019504
+v 0.145794 0.358736 -0.115163
+v 0.240237 0.375544 0.033323
+v -0.224509 0.021356 -0.032606
+v -0.131273 0.023638 0.117567
+v -0.102951 0.016109 -0.003950
+vt 0.750000 0.875000
+vt 0.625000 0.875000
+vt 0.625000 0.750000
+vt 0.750000 0.750000
+vt 0.750000 1.000000
+vt 0.625000 1.000000
+vt 0.625000 0.500000
+vt 0.500000 0.500000
+vt 0.500000 1.000000
+vt 0.000100 0.500100
+vt 0.499900 0.500100
+vt 0.499900 0.999900
+vt 0.000100 0.999900
+vt 0.250000 0.250000
+vt 0.500000 0.250000
+vt 0.250000 0.500000
+vt 0.000000 0.250000
+vt 0.000000 0.000000
+vt 0.250000 0.000000
+vt 0.000000 0.500000
+vt 0.500000 0.000000
+usemtl Sunflower
+s off
+f 1/1 2/2 3/3 4/4
+f 5/5 8/6 7/2 6/1
+f 1/7 5/8 6/9 2/6
+f 2/7 6/6 7/9 3/8
+f 3/7 7/8 8/9 4/6
+f 5/7 1/8 4/9 8/6
+f 9/10 10/11 12/12 11/13
+f 24/14 26/15 16/8 25/16
+f 31/14 29/17 20/18 30/19
+f 17/8 22/16 31/14 23/15
+f 22/16 18/20 29/17 31/14
+f 27/19 14/21 26/15 24/14
+f 13/18 27/19 24/14 28/17
+f 23/15 31/14 30/19 19/21
+f 28/17 24/14 25/16 15/20
diff --git a/flowers_plus/textures/flowers_seaweed.png b/flowers_plus/textures/flowers_seaweed.png
new file mode 100644
index 0000000..b5bd99c
--- /dev/null
+++ b/flowers_plus/textures/flowers_seaweed.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_seaweedLight.png b/flowers_plus/textures/flowers_seaweedLight.png
new file mode 100644
index 0000000..7595ebc
--- /dev/null
+++ b/flowers_plus/textures/flowers_seaweedLight.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_seaweed_2.png b/flowers_plus/textures/flowers_seaweed_2.png
new file mode 100644
index 0000000..0b24730
--- /dev/null
+++ b/flowers_plus/textures/flowers_seaweed_2.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_seaweed_3.png b/flowers_plus/textures/flowers_seaweed_3.png
new file mode 100644
index 0000000..d9b7f43
--- /dev/null
+++ b/flowers_plus/textures/flowers_seaweed_3.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_seaweed_4.png b/flowers_plus/textures/flowers_seaweed_4.png
new file mode 100644
index 0000000..887c183
--- /dev/null
+++ b/flowers_plus/textures/flowers_seaweed_4.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_sunflower.png b/flowers_plus/textures/flowers_sunflower.png
new file mode 100644
index 0000000..fb95cb4
--- /dev/null
+++ b/flowers_plus/textures/flowers_sunflower.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_sunflower_inv.png b/flowers_plus/textures/flowers_sunflower_inv.png
new file mode 100644
index 0000000..c36ed01
--- /dev/null
+++ b/flowers_plus/textures/flowers_sunflower_inv.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_waterlily.png b/flowers_plus/textures/flowers_waterlily.png
new file mode 100644
index 0000000..7b58bb2
--- /dev/null
+++ b/flowers_plus/textures/flowers_waterlily.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_waterlily_22.5.png b/flowers_plus/textures/flowers_waterlily_22.5.png
new file mode 100644
index 0000000..73647ac
--- /dev/null
+++ b/flowers_plus/textures/flowers_waterlily_22.5.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_waterlily_45.png b/flowers_plus/textures/flowers_waterlily_45.png
new file mode 100644
index 0000000..7ca683e
--- /dev/null
+++ b/flowers_plus/textures/flowers_waterlily_45.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_waterlily_67.5.png b/flowers_plus/textures/flowers_waterlily_67.5.png
new file mode 100644
index 0000000..234da60
--- /dev/null
+++ b/flowers_plus/textures/flowers_waterlily_67.5.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_waterlily_small_1.png b/flowers_plus/textures/flowers_waterlily_small_1.png
new file mode 100644
index 0000000..a2d88cd
--- /dev/null
+++ b/flowers_plus/textures/flowers_waterlily_small_1.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_waterlily_small_2.png b/flowers_plus/textures/flowers_waterlily_small_2.png
new file mode 100644
index 0000000..7d2ba86
--- /dev/null
+++ b/flowers_plus/textures/flowers_waterlily_small_2.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_waterlily_small_3.png b/flowers_plus/textures/flowers_waterlily_small_3.png
new file mode 100644
index 0000000..bfcab90
--- /dev/null
+++ b/flowers_plus/textures/flowers_waterlily_small_3.png
Binary files differ
diff --git a/flowers_plus/textures/flowers_waterlily_small_4.png b/flowers_plus/textures/flowers_waterlily_small_4.png
new file mode 100644
index 0000000..8119ea7
--- /dev/null
+++ b/flowers_plus/textures/flowers_waterlily_small_4.png
Binary files differ
diff --git a/flowers_plus/textures/tr.txt b/flowers_plus/textures/tr.txt
new file mode 100644
index 0000000..9e6372e
--- /dev/null
+++ b/flowers_plus/textures/tr.txt
@@ -0,0 +1,14 @@
+# Turkish translation
+# mahmutelmas06@hotmail.com
+
+Waterlily = Nilüfer
+Seaweed = Deniz yosunu
+Potted Rose = Saksı gülü
+Potted Tulip = Saksı lalesi
+Potted Yellow Dandelion = Sarı hindiba
+Potted White Dandelion = Beyaz hindiba
+Potted Blue Geranium = Mavi hindiba
+Potted Viola = Saksı Menekşesi
+Flower Pot = Saksı
+
+[Flowers] Loaded. = [Flowers] yüklendi.