From df2fdba2b41f09d7933440ea283401c231ae31a5 Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Mon, 12 Nov 2012 17:51:48 +0100 Subject: [PATCH 1/5] Make steel block and brick drop themselves when digged and make them craftable back into the their materials --- mods/default/init.lua | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/mods/default/init.lua b/mods/default/init.lua index fd525774..5b5bc902 100644 --- a/mods/default/init.lua +++ b/mods/default/init.lua @@ -387,6 +387,13 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = 'default:steel_ingot 9', + recipe = { + {'default:steelblock'}, + } +}) + minetest.register_craft({ output = 'default:sandstone', recipe = { @@ -411,6 +418,13 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = 'default:clay_brick 4', + recipe = { + {'default:brick'}, + } +}) + minetest.register_craft({ output = 'default:paper', recipe = { @@ -813,7 +827,6 @@ minetest.register_node("default:brick", { tiles = {"default_brick.png"}, is_ground_content = true, groups = {cracky=3}, - drop = 'default:clay_brick 4', sounds = default.node_sound_stone_defaults(), }) From fb8144f7039ce0c97963294132b37b52aad3e46c Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Sun, 18 Nov 2012 17:25:43 +0100 Subject: [PATCH 2/5] Don't grow papyrus into trees --- mods/default/mapgen.lua | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index 35fc0654..8b1c1440 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -69,14 +69,26 @@ end function default.make_papyrus(pos, size) for y=0,size-1 do local p = {x=pos.x, y=pos.y+y, z=pos.z} - minetest.env:set_node(p, {name="default:papyrus"}) + local nn = minetest.env:get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.env:set_node(p, {name="default:papyrus"}) + else + return + end end end function default.make_cactus(pos, size) for y=0,size-1 do local p = {x=pos.x, y=pos.y+y, z=pos.z} - minetest.env:set_node(p, {name="default:cactus"}) + local nn = minetest.env:get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.env:set_node(p, {name="default:cactus"}) + else + return + end end end From 165da9348a8061e952d70e1e8c1da944dd00ac44 Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Sun, 18 Nov 2012 17:47:22 +0100 Subject: [PATCH 3/5] Use groups to craft things --- mods/default/init.lua | 86 +++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 49 deletions(-) diff --git a/mods/default/init.lua b/mods/default/init.lua index 5b5bc902..94dfa931 100644 --- a/mods/default/init.lua +++ b/mods/default/init.lua @@ -196,7 +196,7 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:stick 4', recipe = { - {'default:wood'}, + {'group:wood'}, } }) @@ -211,8 +211,8 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:sign_wall', recipe = { - {'default:wood', 'default:wood', 'default:wood'}, - {'default:wood', 'default:wood', 'default:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, {'', 'default:stick', ''}, } }) @@ -228,7 +228,7 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:pick_wood', recipe = { - {'default:wood', 'default:wood', 'default:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, {'', 'default:stick', ''}, {'', 'default:stick', ''}, } @@ -237,7 +237,7 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:pick_stone', recipe = { - {'default:cobble', 'default:cobble', 'default:cobble'}, + {'group:stone', 'group:stone', 'group:stone'}, {'', 'default:stick', ''}, {'', 'default:stick', ''}, } @@ -264,7 +264,7 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:shovel_wood', recipe = { - {'default:wood'}, + {'group:wood'}, {'default:stick'}, {'default:stick'}, } @@ -273,7 +273,7 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:shovel_stone', recipe = { - {'default:cobble'}, + {'group:stone'}, {'default:stick'}, {'default:stick'}, } @@ -291,8 +291,8 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:axe_wood', recipe = { - {'default:wood', 'default:wood'}, - {'default:wood', 'default:stick'}, + {'group:wood', 'group:wood'}, + {'group:wood', 'default:stick'}, {'', 'default:stick'}, } }) @@ -300,8 +300,8 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:axe_stone', recipe = { - {'default:cobble', 'default:cobble'}, - {'default:cobble', 'default:stick'}, + {'group:stone', 'group:stone'}, + {'group:stone', 'default:stick'}, {'', 'default:stick'}, } }) @@ -318,8 +318,8 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:sword_wood', recipe = { - {'default:wood'}, - {'default:wood'}, + {'group:wood'}, + {'group:wood'}, {'default:stick'}, } }) @@ -327,8 +327,8 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:sword_stone', recipe = { - {'default:cobble'}, - {'default:cobble'}, + {'group:stone'}, + {'group:stone'}, {'default:stick'}, } }) @@ -354,27 +354,27 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:chest', recipe = { - {'default:wood', 'default:wood', 'default:wood'}, - {'default:wood', '', 'default:wood'}, - {'default:wood', 'default:wood', 'default:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', '', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, } }) minetest.register_craft({ output = 'default:chest_locked', recipe = { - {'default:wood', 'default:wood', 'default:wood'}, - {'default:wood', 'default:steel_ingot', 'default:wood'}, - {'default:wood', 'default:wood', 'default:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'default:steel_ingot', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, } }) minetest.register_craft({ output = 'default:furnace', recipe = { - {'default:cobble', 'default:cobble', 'default:cobble'}, - {'default:cobble', '', 'default:cobble'}, - {'default:cobble', 'default:cobble', 'default:cobble'}, + {'group:stone', 'group:stone', 'group:stone'}, + {'group:stone', '', 'group:stone'}, + {'group:stone', 'group:stone', 'group:stone'}, } }) @@ -397,8 +397,8 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:sandstone', recipe = { - {'default:sand', 'default:sand'}, - {'default:sand', 'default:sand'}, + {'group:sand', 'group:sand'}, + {'group:sand', 'group:sand'}, } }) @@ -444,9 +444,9 @@ minetest.register_craft({ minetest.register_craft({ output = 'default:bookshelf', recipe = { - {'default:wood', 'default:wood', 'default:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, {'default:book', 'default:book', 'default:book'}, - {'default:wood', 'default:wood', 'default:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, } }) @@ -474,13 +474,7 @@ minetest.register_craft({ minetest.register_craft({ type = "cooking", output = "default:glass", - recipe = "default:sand", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:glass", - recipe = "default:desert_sand", + recipe = "group:sand", }) minetest.register_craft({ @@ -507,13 +501,7 @@ minetest.register_craft({ minetest.register_craft({ type = "fuel", - recipe = "default:tree", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:jungletree", + recipe = "group:tree", burntime = 30, }) @@ -561,7 +549,7 @@ minetest.register_craft({ minetest.register_craft({ type = "fuel", - recipe = "default:wood", + recipe = "group:wood", burntime = 7, }) @@ -712,7 +700,7 @@ minetest.register_node("default:stone", { description = "Stone", tiles = {"default_stone.png"}, is_ground_content = true, - groups = {cracky=3}, + groups = {cracky=3, stone=1}, drop = 'default:cobble', legacy_mineral = true, sounds = default.node_sound_stone_defaults(), @@ -722,7 +710,7 @@ minetest.register_node("default:desert_stone", { description = "Desert Stone", tiles = {"default_desert_stone.png"}, is_ground_content = true, - groups = {cracky=3}, + groups = {cracky=3, stone=1}, drop = 'default:desert_stone', legacy_mineral = true, sounds = default.node_sound_stone_defaults(), @@ -780,7 +768,7 @@ minetest.register_node("default:sand", { description = "Sand", tiles = {"default_sand.png"}, is_ground_content = true, - groups = {crumbly=3, falling_node=1}, + groups = {crumbly=3, falling_node=1, sand=1}, sounds = default.node_sound_sand_defaults(), }) @@ -788,7 +776,7 @@ minetest.register_node("default:desert_sand", { description = "Desert Sand", tiles = {"default_desert_sand.png"}, is_ground_content = true, - groups = {sand=1, crumbly=3, falling_node=1}, + groups = {sand=1, crumbly=3, falling_node=1, sand=1}, sounds = default.node_sound_sand_defaults(), }) @@ -988,7 +976,7 @@ minetest.register_node("default:wood", { description = "Wooden Planks", tiles = {"default_wood.png"}, is_ground_content = true, - groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, sounds = default.node_sound_wood_defaults(), }) @@ -1497,7 +1485,7 @@ minetest.register_node("default:cobble", { description = "Cobblestone", tiles = {"default_cobble.png"}, is_ground_content = true, - groups = {cracky=3}, + groups = {cracky=3, stone=2}, sounds = default.node_sound_stone_defaults(), }) From c455ba9b68f88c3bd4904013d83ba5b37b042947 Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Mon, 19 Nov 2012 16:34:16 +0100 Subject: [PATCH 4/5] Fix dry shrubs being placed in cacti and fix incorrect comments --- mods/default/mapgen.lua | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index 8b1c1440..419861c3 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -257,11 +257,11 @@ minetest.register_on_generated(function(minp, maxp, seed) local z0 = minp.z + math.floor((divz+0)*divlen) local x1 = minp.x + math.floor((divx+1)*divlen) local z1 = minp.z + math.floor((divz+1)*divlen) - -- Determine cactus amount from perlin noise - local cactus_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 5 + 0) - -- Find random positions for cactus based on this random + -- Determine dry shrubs amount from perlin noise + local shrub_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 5 + 0) + -- Find random positions for dry shrubs based on this random local pr = PseudoRandom(seed+1) - for i=0,cactus_amount do + for i=0,shrub_amount do local x = pr:next(x0, x1) local z = pr:next(z0, z1) -- Find ground level (0...15) @@ -272,9 +272,14 @@ minetest.register_on_generated(function(minp, maxp, seed) break end end - -- If desert sand, make cactus + -- If desert sand, make dry shrub if ground_y and minetest.env:get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then - minetest.env:set_node({x=x,y=ground_y+1,z=z}, {name="default:dry_shrub"}) + local p = {x=x,y=ground_y+1,z=z} + local nn = minetest.env:get_node(p).name + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + minetest.env:set_node(p, {name="default:dry_shrub"}) + end end end end From 6687b5504d983ca75a4551783f9e02ded41205a6 Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Wed, 21 Nov 2012 18:05:52 +0100 Subject: [PATCH 5/5] Fix a rare bug in leafdecay --- mods/default/leafdecay.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/default/leafdecay.lua b/mods/default/leafdecay.lua index 8f4ff974..fe845736 100644 --- a/mods/default/leafdecay.lua +++ b/mods/default/leafdecay.lua @@ -47,7 +47,7 @@ minetest.register_abm({ local n = minetest.env:get_node(trunkp) local reg = minetest.registered_nodes[n.name] -- Assume ignore is a trunk, to make the thing work at the border of the active area - if n.name == "ignore" or (reg.groups.tree and reg.groups.tree ~= 0) then + if n.name == "ignore" or (reg and reg.groups.tree and reg.groups.tree ~= 0) then --print("cached trunk still exists") return end