Add grass
authorPilzAdam <pilzadam@minetest.net>
Mon, 18 Mar 2013 21:27:15 +0000 (22:27 +0100)
committerPilzAdam <pilzadam@minetest.net>
Mon, 18 Mar 2013 21:27:15 +0000 (22:27 +0100)
mods/default/README.txt
mods/default/init.lua
mods/default/mapgen.lua
mods/default/textures/default_grass_1.png [new file with mode: 0644]
mods/default/textures/default_grass_2.png [new file with mode: 0644]
mods/default/textures/default_grass_3.png [new file with mode: 0644]
mods/default/textures/default_grass_4.png [new file with mode: 0644]
mods/default/textures/default_grass_5.png [new file with mode: 0644]

index ce82282bfc15db0513e3f026d67ba4b2f6914218..4520dda5de895f9d3692894bacfb6b0b7898bcb4 100644 (file)
@@ -71,11 +71,12 @@ RealBadAngel's animated water (WTFPL):
   default_water_source_animated.png
   default_water_flowing_animated.png
 
-VanessaE:
+VanessaE (WTFPL):
   default_nc_back.png
   default_nc_front.png
   default_nc_rb.png
   default_nc_side.png
+  default_grass_*.png
 
 Calinou's improved default textures (CC BY-SA):
   default_brick.png
index 02369df21bc87c1231e2c9d88fe467f3a53a7986..cb56181ab771f170a92eead65440db291886a4e8 100644 (file)
@@ -697,6 +697,12 @@ minetest.register_craft({
        burntime = 10,
 })
 
+minetest.register_craft({
+       type = "fuel",
+       recipe = "default:grass_1",
+       burntime = 2,
+})
+
 --
 -- Node definitions
 --
@@ -983,6 +989,10 @@ minetest.register_node("default:junglegrass", {
        walkable = false,
        groups = {snappy=3,flammable=2,attached_node=1},
        sounds = default.node_sound_leaves_defaults(),
+       selection_box = {
+               type = "fixed",
+               fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+       },
 })
 
 minetest.register_node("default:leaves", {
@@ -1753,6 +1763,96 @@ minetest.register_node("default:dry_shrub", {
        },
 })
 
+minetest.register_node("default:grass_1", {
+       description = "Grass",
+       drawtype = "plantlike",
+       tiles = {"default_grass_1.png"},
+       -- use a bigger inventory image
+       inventory_image = "default_grass_3.png",
+       wield_image = "default_grass_3.png",
+       paramtype = "light",
+       walkable = false,
+       groups = {snappy=3,flammable=3,attached_node=1},
+       sounds = default.node_sound_leaves_defaults(),
+       selection_box = {
+               type = "fixed",
+               fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+       },
+       on_place = function(itemstack, placer, pointed_thing)
+               -- place a random grass node
+               local stack = ItemStack("default:grass_"..math.random(1,5))
+               local ret = minetest.item_place(stack, placer, pointed_thing)
+               return ItemStack("default:grass_1 "..itemstack:get_count()-(1-ret:get_count()))
+       end,
+})
+
+minetest.register_node("default:grass_2", {
+       description = "Grass",
+       drawtype = "plantlike",
+       tiles = {"default_grass_2.png"},
+       inventory_image = "default_grass_2.png",
+       wield_image = "default_grass_2.png",
+       paramtype = "light",
+       walkable = false,
+       drop = "default:grass_1",
+       groups = {snappy=3,flammable=3,attached_node=1,not_in_creative_inventory=1},
+       sounds = default.node_sound_leaves_defaults(),
+       selection_box = {
+               type = "fixed",
+               fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+       },
+})
+minetest.register_node("default:grass_3", {
+       description = "Grass",
+       drawtype = "plantlike",
+       tiles = {"default_grass_3.png"},
+       inventory_image = "default_grass_3.png",
+       wield_image = "default_grass_3.png",
+       paramtype = "light",
+       walkable = false,
+       drop = "default:grass_1",
+       groups = {snappy=3,flammable=3,attached_node=1,not_in_creative_inventory=1},
+       sounds = default.node_sound_leaves_defaults(),
+       selection_box = {
+               type = "fixed",
+               fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+       },
+})
+
+minetest.register_node("default:grass_4", {
+       description = "Grass",
+       drawtype = "plantlike",
+       tiles = {"default_grass_4.png"},
+       inventory_image = "default_grass_4.png",
+       wield_image = "default_grass_4.png",
+       paramtype = "light",
+       walkable = false,
+       drop = "default:grass_1",
+       groups = {snappy=3,flammable=3,attached_node=1,not_in_creative_inventory=1},
+       sounds = default.node_sound_leaves_defaults(),
+       selection_box = {
+               type = "fixed",
+               fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+       },
+})
+
+minetest.register_node("default:grass_5", {
+       description = "Grass",
+       drawtype = "plantlike",
+       tiles = {"default_grass_5.png"},
+       inventory_image = "default_grass_5.png",
+       wield_image = "default_grass_5.png",
+       paramtype = "light",
+       walkable = false,
+       drop = "default:grass_1",
+       groups = {snappy=3,flammable=3,attached_node=1,not_in_creative_inventory=1},
+       sounds = default.node_sound_leaves_defaults(),
+       selection_box = {
+               type = "fixed",
+               fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+       },
+})
+
 --
 -- Crafting items
 --
index 8955caeb5244a3122a3d9f1d6428e008ceafcda3..a5e61585ed80a31684a2ad71441a89cca3e7a006 100644 (file)
@@ -262,7 +262,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
                        local x1 = minp.x + math.floor((divx+1)*divlen)
                        local z1 = minp.z + math.floor((divz+1)*divlen)
                        -- Determine grass amount from perlin noise
-                       local grass_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 5 + 0)
+                       local grass_amount = math.floor(perlin1:get2d({x=x0, y=z0}) ^ 3 * 9)
                        -- Find random positions for grass based on this random
                        local pr = PseudoRandom(seed+1)
                        for i=0,grass_amount do
@@ -284,13 +284,13 @@ minetest.register_on_generated(function(minp, maxp, seed)
                                        if minetest.registered_nodes[nn] and
                                                minetest.registered_nodes[nn].buildable_to then
                                                nn = minetest.env:get_node({x=x,y=ground_y,z=z}).name
-                                               -- If desert sand, make dry shrub
+                                               -- If desert sand, add dry shrub
                                                if nn == "default:desert_sand" then
                                                        minetest.env:set_node(p,{name="default:dry_shrub"})
                                                        
-                                               -- If grass, make junglegrass
+                                               -- If dirt with grass, add grass
                                                elseif nn == "default:dirt_with_grass" then
-                                                       minetest.env:set_node(p,{name="default:junglegrass"})
+                                                       minetest.env:set_node(p,{name="default:grass_"..pr:next(1, 5)})
                                                end
                                        end
                                end
diff --git a/mods/default/textures/default_grass_1.png b/mods/default/textures/default_grass_1.png
new file mode 100644 (file)
index 0000000..b03df7c
Binary files /dev/null and b/mods/default/textures/default_grass_1.png differ
diff --git a/mods/default/textures/default_grass_2.png b/mods/default/textures/default_grass_2.png
new file mode 100644 (file)
index 0000000..e3dfd27
Binary files /dev/null and b/mods/default/textures/default_grass_2.png differ
diff --git a/mods/default/textures/default_grass_3.png b/mods/default/textures/default_grass_3.png
new file mode 100644 (file)
index 0000000..eebe312
Binary files /dev/null and b/mods/default/textures/default_grass_3.png differ
diff --git a/mods/default/textures/default_grass_4.png b/mods/default/textures/default_grass_4.png
new file mode 100644 (file)
index 0000000..c15a0f1
Binary files /dev/null and b/mods/default/textures/default_grass_4.png differ
diff --git a/mods/default/textures/default_grass_5.png b/mods/default/textures/default_grass_5.png
new file mode 100644 (file)
index 0000000..865604c
Binary files /dev/null and b/mods/default/textures/default_grass_5.png differ