summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--biome_defs.lua4
-rw-r--r--default_settings.txt (renamed from settings.lua)8
-rw-r--r--init.lua46
-rw-r--r--node_defs.lua82
4 files changed, 38 insertions, 102 deletions
diff --git a/biome_defs.lua b/biome_defs.lua
index b92c2d6..323433c 100644
--- a/biome_defs.lua
+++ b/biome_defs.lua
@@ -2,10 +2,10 @@
moretrees.beech_biome = {
surface = "default:dirt_with_grass",
avoid_nodes = moretrees.avoidnodes,
- avoid_radius = 10,
+ avoid_radius = 8,
seed_diff = 2,
rarity = 50,
- max_count = 15,
+ max_count = 20,
}
moretrees.palm_biome = {
diff --git a/settings.lua b/default_settings.txt
index 66fefeb..766d193 100644
--- a/settings.lua
+++ b/default_settings.txt
@@ -13,13 +13,7 @@ moretrees.enable_birch = true
moretrees.enable_spruce = true
moretrees.enable_jungle_tree = true
moretrees.enable_fir = true
-
--- Enable replacement of default trees with moretrees beech.
--- Note: The code that uses this variable is in leafdecay.lua
--- because of how it interacts with settings related to that
--- function.
-
-moretrees.enable_replace_default_trees = true
+moretrees.enable_beech = false
-- Set this to true to enable leaf decay of all trees except the default ones.
diff --git a/init.lua b/init.lua
index 90e8111..90768ab 100644
--- a/init.lua
+++ b/init.lua
@@ -18,23 +18,43 @@
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").."/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")
- plantslib:register_generate_plant(moretrees.beech_biome, moretrees.beech_model)
+-- 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
+
+else
+ dofile(worldpath.."/moretrees_settings.txt")
end
+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
+if moretrees.enable_beech then
+ plantslib:register_generate_plant(moretrees.beech_biome, moretrees.beech_model)
+end
+
if moretrees.enable_apple_tree then
plantslib:register_generate_plant(moretrees.apple_tree_biome, moretrees.apple_tree_model)
end
diff --git a/node_defs.lua b/node_defs.lua
index e383e50..8f235cb 100644
--- a/node_defs.lua
+++ b/node_defs.lua
@@ -1,6 +1,7 @@
moretrees.avoidnodes = {}
moretrees.treelist = {
+ {"beech", "Beech Tree"},
{"apple_tree", "Apple Tree"},
{"oak", "Oak Tree", "acorn", "Acorn", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },
{"sequoia", "Giant Sequoia"},
@@ -251,92 +252,13 @@ if moretrees.enable_redefine_apple then
})
end
-if moretrees.enable_replace_default_trees then
-
- minetest.register_node(":default:tree", {
- description = "Beech Trunk",
- tiles = {"moretrees_beech_trunk_top.png", "moretrees_beech_trunk_top.png", "moretrees_beech_trunk.png"},
- groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
- sounds = default.node_sound_wood_defaults(),
- })
-
- minetest.register_node(":default:leaves", {
- description = "Beech Leaves",
- drawtype = "allfaces_optional",
- visual_scale = 1.3,
- tiles = {"moretrees_beech_leaves.png"},
- paramtype = "light",
- groups = {snappy=3, leafdecay=3, flammable=2, leaves=1},
- drop = {
- max_items = 1,
- items = {
- {
- -- player will get sapling with 1/20 chance
- items = {'default:sapling'},
- rarity = 20,
- },
- {
- -- player will get leaves only if he get no saplings,
- -- this is because max_items is 1
- items = {'default:leaves'},
- }
- }
- },
- sounds = default.node_sound_leaves_defaults(),
- })
-
- minetest.register_node(":default:wood", {
- description = "Beech Planks",
- tiles = {"moretrees_beech_wood.png"},
- groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},
- sounds = default.node_sound_wood_defaults(),
- })
-
- minetest.register_node(":default:sapling", {
- description = "Beech Sapling",
- drawtype = "plantlike",
- visual_scale = 1.0,
- tiles = {"moretrees_beech_sapling.png"},
- inventory_image = "moretrees_beech_sapling.png",
- wield_image = "moretrees_beech_sapling.png",
- paramtype = "light",
- walkable = false,
- selection_box = {
- type = "fixed",
- fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
- },
- groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1},
- sounds = default.node_sound_defaults(),
- })
-end
-
-minetest.register_node("moretrees:beech_trunk_sideways", {
- description = "Sideways Beech Trunk",
- tiles = {
- "moretrees_beech_trunk.png^[transformR90",
- "moretrees_beech_trunk.png^[transformR90",
- "moretrees_beech_trunk_top.png",
- "moretrees_beech_trunk_top.png",
- "moretrees_beech_trunk.png^[transformR90",
- "moretrees_beech_trunk.png^[transformR90"
- },
- is_ground_content = true,
- groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
- sounds = default.node_sound_wood_defaults(),
- paramtype2 = "facedir",
-})
-
table.insert(moretrees.avoidnodes, "default:jungletree")
table.insert(moretrees.avoidnodes, "moretrees:jungletree_trunk")
table.insert(moretrees.avoidnodes, "moretrees:fir_trunk")
+table.insert(moretrees.avoidnodes, "default:tree")
-- For compatibility with old nodes and recently-changed nodes.
-minetest.register_alias("moretrees:beech_trunk", "default:tree")
-minetest.register_alias("moretrees:beech_leaves", "default:leaves")
-minetest.register_alias("moretrees:beech_planks", "default:wood")
-minetest.register_alias("moretrees:beech_sapling", "default:sapling")
-
minetest.register_alias("moretrees:jungletree_trunk", "default:jungletree")
minetest.register_alias("moretrees:jungletree_planks", "default:junglewood")
minetest.register_alias("moretrees:jungletree_sapling", "default:junglesapling")