From 4184caa64134fae63c31d3699b55dd4c150f3f8a Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Mon, 8 Apr 2013 22:54:22 -0400 Subject: removed all code that tries to disable default trees because the minetest dev team is being completely obstinant about letting me properly disable them from this mod. Instead, made beech trees respond to enable flags in settings.lua (disabled by default). If you want beeches, turn that flag on in settings.lua and remove the "trees" flag from yourworld/map_meta.txt in the mg_flags line. --- init.lua | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'init.lua') diff --git a/init.lua b/init.lua index 90e8111..6773e41 100644 --- a/init.lua +++ b/init.lua @@ -19,22 +19,19 @@ moretrees = {} dofile(minetest.get_modpath("moretrees").."/settings.lua") -dofile(minetest.get_modpath("moretrees").."/node_defs.lua") dofile(minetest.get_modpath("moretrees").."/tree_models.lua") dofile(minetest.get_modpath("moretrees").."/biome_defs.lua") +dofile(minetest.get_modpath("moretrees").."/node_defs.lua") +dofile(minetest.get_modpath("moretrees").."/saplings.lua") dofile(minetest.get_modpath("moretrees").."/crafts.lua") dofile(minetest.get_modpath("moretrees").."/leafdecay.lua") -dofile(minetest.get_modpath("moretrees").."/saplings.lua") -if moretrees.enable_replace_default_trees then - minetest.register_alias("mapgen_tree", "air") - minetest.register_alias("mapgen_leaves", "air") - minetest.register_alias("mapgen_apple", "air") +-- tree spawning setup + +if moretrees.enable_beech then plantslib:register_generate_plant(moretrees.beech_biome, moretrees.beech_model) end --- tree spawning setup - if moretrees.enable_apple_tree then plantslib:register_generate_plant(moretrees.apple_tree_biome, moretrees.apple_tree_model) end -- cgit v1.2.3 From 8a1ebec9513535f6f8f4488599eb7ca5560ead96 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Tue, 9 Apr 2013 00:15:24 -0400 Subject: Made settings world-specific - look for moretrees_settings.txt in your world folder. If it isn't found, the mod will create it with the contents of default_settings.txt and then read those default settings and use them. Otherwise, it will read its settings from the world folder. --- init.lua | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) (limited to 'init.lua') diff --git a/init.lua b/init.lua index 6773e41..d36baf4 100644 --- a/init.lua +++ b/init.lua @@ -18,13 +18,35 @@ moretrees = {} -dofile(minetest.get_modpath("moretrees").."/settings.lua") -dofile(minetest.get_modpath("moretrees").."/tree_models.lua") -dofile(minetest.get_modpath("moretrees").."/biome_defs.lua") -dofile(minetest.get_modpath("moretrees").."/node_defs.lua") -dofile(minetest.get_modpath("moretrees").."/saplings.lua") -dofile(minetest.get_modpath("moretrees").."/crafts.lua") -dofile(minetest.get_modpath("moretrees").."/leafdecay.lua") +-- If the config file is not found in the world directory, copy the default +-- settings to that location and read them in. + +local worldpath=minetest.get_worldpath() +local modpath=minetest.get_modpath("moretrees") + +if io.open(worldpath.."/moretrees_settings.txt","r") == nil then + + dofile(modpath.."/default_settings.txt") + + io.input(modpath.."/default_settings.txt") + io.output(worldpath.."/moretrees_settings.txt") + + local size = 2^13 -- good buffer size (8K) + while true do + local block = io.read(size) + if not block then break end + io.write(block) + end +end + +dofile(worldpath.."/moretrees_settings.txt") + +dofile(modpath.."/tree_models.lua") +dofile(modpath.."/biome_defs.lua") +dofile(modpath.."/node_defs.lua") +dofile(modpath.."/saplings.lua") +dofile(modpath.."/crafts.lua") +dofile(modpath.."/leafdecay.lua") -- tree spawning setup -- cgit v1.2.3 From 85e07fb787104b055fd24b7856d1de35d7e4120c Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Tue, 9 Apr 2013 00:32:15 -0400 Subject: forgot to test if the file can be read the second time the mod is run. Should be fixed now. --- init.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'init.lua') diff --git a/init.lua b/init.lua index d36baf4..90768ab 100644 --- a/init.lua +++ b/init.lua @@ -37,9 +37,10 @@ if io.open(worldpath.."/moretrees_settings.txt","r") == nil then if not block then break end io.write(block) end -end -dofile(worldpath.."/moretrees_settings.txt") +else + dofile(worldpath.."/moretrees_settings.txt") +end dofile(modpath.."/tree_models.lua") dofile(modpath.."/biome_defs.lua") -- cgit v1.2.3