diff --git a/LICENSE b/LICENSE index c578745..594ea2a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,4 @@ +Sunflower model and textures by kaeza (CC-BY-SA 3.0). For the code, Ironzorg's textures, and everything else: WTFPL diff --git a/flowers_plus/init.lua b/flowers_plus/init.lua index d25734c..de09863 100644 --- a/flowers_plus/init.lua +++ b/flowers_plus/init.lua @@ -12,6 +12,8 @@ local lilies_max_count = 320 local lilies_rarity = 33 local seaweed_max_count = 320 local seaweed_rarity = 33 +local sunflowers_max_count = 2 +local sunflowers_rarity = 66 -- register the various rotations of waterlilies @@ -266,6 +268,36 @@ for i in ipairs(flowers_list) do minetest.register_alias("flowers:flower_"..flower.."_pot", "flowers:potted_"..flower) end +local box = { + type="fixed", + fixed = { { -0.2, -0.5, -0.2, 0.2, 0.5, 0.2 } }, +} + +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, +}) + +minetest.override_item("flowers:sunflower", {drop = { + max_items = 1, + items = { + {items = {"farming:seed_wheat"}, rarity = 8}, + {items = {"flowers:sunflower"}}, + } +}}) + local extra_aliases = { "waterlily", "waterlily_225", @@ -380,6 +412,25 @@ plantslib:register_generate_plant({ }, flowers_plus.grow_seaweed ) + +flowers_plus.grow_sunflowers = function(pos) + local right_here = {x=pos.x, y=pos.y+1, z=pos.z} + minetest.set_node(right_here, {name="flowers:sunflower", param2=math.random(1,3)}) +end + +plantslib:register_generate_plant({ + surface = {"default:dirt_with_grass"}, + max_count = sunflowers_max_count, + rarity = sunflowers_rarity, + min_elevation = 10, + max_elevation = 40, + plantlife_limit = -0.9, + temp_max = -0.22, + temp_min = 0.22, + }, + flowers_plus.grow_sunflowers +) + -- spawn ABM registrations plantslib:spawn_on_surfaces({ @@ -445,6 +496,18 @@ plantslib:spawn_on_surfaces({ facedir = 1 }) +plantslib: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", "group:flora"}, + seed_diff = flowers_seed_diff, + light_min = 4, + light_max = 14, + random_facedir = {0,3} +}) + -- crafting recipes! minetest.register_craftitem(":flowers:flower_pot", { @@ -471,5 +534,6 @@ minetest.register_alias("flowers:flower_cotton_pot", "flowers:potted_dandelion_w 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/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_sunflower.png b/flowers_plus/textures/flowers_sunflower.png new file mode 100644 index 0000000..fb95cb4 Binary files /dev/null and b/flowers_plus/textures/flowers_sunflower.png 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 Binary files /dev/null and b/flowers_plus/textures/flowers_sunflower_inv.png differ