From dde035cb5e4ab3e889633ee1505fc288540a639d Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Tue, 18 Jun 2019 14:37:06 -0400 Subject: [PATCH 1/4] use table.copy instead of clone-node --- init.lua | 11 ----------- node_defs.lua | 2 +- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/init.lua b/init.lua index c3ff233..8c33b04 100644 --- a/init.lua +++ b/init.lua @@ -36,17 +36,6 @@ else end moretrees.intllib = S --- clone node - -function moretrees.clone_node(name) - local node2 = {} - local node = minetest.registered_nodes[name] - for k,v in pairs(node) do - node2[k]=v - end - return node2 -end - -- infinite stacks checking if minetest.get_modpath("unified_inventory") or not diff --git a/node_defs.lua b/node_defs.lua index 84e9b55..1d22812 100644 --- a/node_defs.lua +++ b/node_defs.lua @@ -404,7 +404,7 @@ default.register_leafdecay({ if moretrees.enable_redefine_apple then - local appledef = moretrees.clone_node("default:apple") + local appledef = table.copy(minetest.registered_nodes["default:apple"]) appledef.groups.attached_node = 1 minetest.register_node(":default:apple", appledef) end From 216acdc6b1e001863522b51d921808237a23d140 Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Tue, 18 Jun 2019 14:51:50 -0400 Subject: [PATCH 2/4] override default sapling/tree/leaves/wood/etc get rid of "apple" from descriptions --- depends.txt | 1 + init.lua | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/depends.txt b/depends.txt index 7896571..1636685 100644 --- a/depends.txt +++ b/depends.txt @@ -1,6 +1,7 @@ default biome_lib vessels +doors? stairs? moreblocks? intllib? diff --git a/init.lua b/init.lua index 8c33b04..176f2bd 100644 --- a/init.lua +++ b/init.lua @@ -15,6 +15,41 @@ moretrees = {} +minetest.override_item("default:sapling", { + description = "Sapling" +}) + +minetest.override_item("default:tree", { + description = "Tree" +}) + +minetest.override_item("default:wood", { + description = "Wooden Planks" +}) + +minetest.override_item("default:leaves", { + description = "Leaves" +}) + +minetest.override_item("default:fence_wood", { + description = "Wooden Fence" +}) + +minetest.override_item("default:fence_rail_wood", { + description = "Wooden Fence Rail" +}) + +if minetest.get_modpath("doors") then + minetest.override_item("doors:gate_wood_closed", { + description = "Wooden Fence Gate" + }) + + minetest.override_item("doors:gate_wood_open", { + description = "Wooden Fence Gate" + }) +end + + -- Read the default config file (and if necessary, copy it to the world folder). local worldpath=minetest.get_worldpath() From d097fd6044d10dccf8a7f903be4295ab63ec5df4 Mon Sep 17 00:00:00 2001 From: flux Date: Thu, 3 Oct 2019 18:10:58 +0000 Subject: [PATCH 3/4] make moretrees:jungletree_trunk drop default:jungletree --- node_defs.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/node_defs.lua b/node_defs.lua index 1d22812..d2c246f 100644 --- a/node_defs.lua +++ b/node_defs.lua @@ -360,6 +360,7 @@ end -- we need our own copy of that node, which moretrees will match against. local jungle_tree = table.copy(minetest.registered_nodes["default:jungletree"]) +jungle_tree.drop = "default:jungletree" minetest.register_node("moretrees:jungletree_trunk", jungle_tree) default.register_leafdecay({ From 25250e6eea257b699f7c1edc4a508477b62ada10 Mon Sep 17 00:00:00 2001 From: flux Date: Thu, 3 Oct 2019 18:13:57 +0000 Subject: [PATCH 4/4] add optional fences and gates --- default_settings.txt | 8 ++++++-- node_defs.lua | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/default_settings.txt b/default_settings.txt index 3b7ce86..a0fae22 100644 --- a/default_settings.txt +++ b/default_settings.txt @@ -25,12 +25,16 @@ moretrees.enable_beech = false moretrees.spawn_saplings = true -- Set this to true to allow defining stairs/slabs/etc. If Moreblocks is --- installed, this will use that mod's Stairs Plus component. Otherwise, it +-- installed, this will use that mod's Stairs Plus component. Otherwise, it -- will use the default stairs mod in minetest_game, if present moretrees.enable_stairs = true --- Set this to true if you want the plantlike drawtype for leaves, which +-- If this variable is set to true, register fences for moretrees wood + +moretrees.enable_fences = false + +-- Set this to true if you want the plantlike drawtype for leaves, which -- improves some peoples' framerates without resorting to making leaf nodes opaque. -- Affects default leaves and default jungle leaves also. diff --git a/node_defs.lua b/node_defs.lua index d2c246f..9fb4225 100644 --- a/node_defs.lua +++ b/node_defs.lua @@ -209,6 +209,41 @@ for i in ipairs(moretrees.treelist) do end end + + if moretrees.enable_fences then + local planks_name = "moretrees:" .. treename .. "_planks" + local planks_tile = "moretrees_" .. treename .. "_wood.png" + default.register_fence("moretrees:" .. treename .. "_fence", { + description = S(treedesc.." Fence"), + texture = planks_tile, + inventory_image = "default_fence_overlay.png^" .. planks_tile .. + "^default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^" .. planks_tile .. + "^default_fence_overlay.png^[makealpha:255,126,126", + material = planks_name, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() + }) + default.register_fence_rail("moretrees:" .. treename .. "_fence_rail", { + description = S(treedesc.." Fence Rail"), + texture = planks_tile, + inventory_image = "default_fence_rail_overlay.png^" .. planks_tile .. + "^default_fence_rail_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_rail_overlay.png^" .. planks_tile .. + "^default_fence_rail_overlay.png^[makealpha:255,126,126", + material = planks_name, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() + }) + if minetest.global_exists("doors") then + doors.register_fencegate("moretrees:" .. treename .. "_gate", { + description = S(treedesc .. " Fence Gate"), + texture = planks_tile, + material = planks_name, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} + }) + end + end end minetest.register_node("moretrees:"..treename.."_sapling_ongen", {