From: PilzAdam Date: Mon, 18 Mar 2013 21:27:15 +0000 (+0100) Subject: Add grass X-Git-Tag: 0.4.6~15 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9ff8f8038ef30c7a62a7b95e09c3254df9862c40;p=oweals%2Fminetest_game.git Add grass --- diff --git a/mods/default/README.txt b/mods/default/README.txt index ce82282b..4520dda5 100644 --- a/mods/default/README.txt +++ b/mods/default/README.txt @@ -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 diff --git a/mods/default/init.lua b/mods/default/init.lua index 02369df2..cb56181a 100644 --- a/mods/default/init.lua +++ b/mods/default/init.lua @@ -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 -- diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index 8955caeb..a5e61585 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -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 index 00000000..b03df7c4 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 index 00000000..e3dfd278 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 index 00000000..eebe312a 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 index 00000000..c15a0f1b 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 index 00000000..865604c5 Binary files /dev/null and b/mods/default/textures/default_grass_5.png differ