summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--default_settings.txt6
-rw-r--r--init.lua13
-rw-r--r--leafdecay.lua17
-rw-r--r--node_defs.lua44
-rw-r--r--textures/default_jungleleaves_plantlike.pngbin0 -> 387 bytes
-rw-r--r--textures/default_leaves_plantlike.pngbin0 -> 401 bytes
-rw-r--r--textures/moretrees_apple_tree_leaves_plantlike.pngbin0 -> 336 bytes
-rw-r--r--textures/moretrees_beech_leaves_plantlike.pngbin0 -> 401 bytes
-rw-r--r--textures/moretrees_birch_leaves_plantlike.pngbin0 -> 429 bytes
-rw-r--r--textures/moretrees_fir_leaves_bright_plantlike.pngbin0 -> 208 bytes
-rw-r--r--textures/moretrees_fir_leaves_plantlike.pngbin0 -> 208 bytes
-rw-r--r--textures/moretrees_jungletree_leaves_green_plantlike.pngbin0 -> 202 bytes
-rw-r--r--textures/moretrees_jungletree_leaves_red_plantlike.pngbin0 -> 202 bytes
-rw-r--r--textures/moretrees_jungletree_leaves_yellow_plantlike.pngbin0 -> 202 bytes
-rw-r--r--textures/moretrees_oak_leaves_plantlike.pngbin0 -> 621 bytes
-rw-r--r--textures/moretrees_palm_leaves_plantlike.pngbin0 -> 762 bytes
-rw-r--r--textures/moretrees_pine_leaves_plantlike.pngbin0 -> 208 bytes
-rw-r--r--textures/moretrees_rubber_tree_leaves_plantlike.pngbin0 -> 202 bytes
-rw-r--r--textures/moretrees_sequoia_leaves_plantlike.pngbin0 -> 208 bytes
-rw-r--r--textures/moretrees_spruce_leaves_plantlike.pngbin0 -> 208 bytes
-rw-r--r--textures/moretrees_willow_leaves_plantlike.pngbin0 -> 384 bytes
21 files changed, 56 insertions, 24 deletions
diff --git a/default_settings.txt b/default_settings.txt
index 6b0a1c8..5b82a4e 100644
--- a/default_settings.txt
+++ b/default_settings.txt
@@ -26,6 +26,12 @@ moretrees.spawn_saplings = true
moretrees.enable_stairsplus = true
+-- Set this to false if you don't like the plantlike drawtype for leaves
+-- (this is done to improve peoples' framerates without resorting to making
+-- leaf nodes opaque). Affects default leaves and default jungle leaves also.
+
+moretrees.plantlike_leaves = true
+
-- Set this to true to enable leaf decay of all trees except the default ones.
moretrees.enable_leafdecay = true
diff --git a/init.lua b/init.lua
index dc7d733..d9a5f6b 100644
--- a/init.lua
+++ b/init.lua
@@ -39,7 +39,7 @@ if io.open(worldpath.."/moretrees_settings.txt","r") == nil then
end
io.write(block)
end
-
+ io.close()
else
dofile(worldpath.."/moretrees_settings.txt")
end
@@ -63,6 +63,17 @@ else
moretrees.expect_infinite_stacks = true
end
+-- node clone, for redefining stuff
+
+function moretrees:clone_node(name)
+ node2={}
+ node=minetest.registered_nodes[name]
+ for k,v in pairs(node) do
+ node2[k]=v
+ end
+ return node2
+end
+
-- tables, load other files
moretrees.cutting_tools = {
diff --git a/leafdecay.lua b/leafdecay.lua
index f77f8dd..3bce131 100644
--- a/leafdecay.lua
+++ b/leafdecay.lua
@@ -1,14 +1,5 @@
-- leaf decay
-function clone_node(name)
- node2={}
- node=minetest.registered_nodes[name]
- for k,v in pairs(node) do
- node2[k]=v
- end
- return node2
-end
-
-- this function is based on the default leafdecay code
local process_drops = function(pos, name)
local drops = minetest.get_node_drops(name)
@@ -85,10 +76,6 @@ end
if moretrees.enable_default_leafdecay then
- new_default_leaves = clone_node("default:leaves")
- new_default_leaves.groups = {snappy=3, flammable=2, leaves=1}
- minetest.register_node(":default:leaves", new_default_leaves)
-
minetest.register_abm({
nodenames = "default:leaves",
interval = moretrees.default_leafdecay_delay,
@@ -105,10 +92,6 @@ end
if moretrees.enable_default_jungle_leafdecay then
- new_default_jungle_leaves = clone_node("default:jungleleaves")
- new_default_jungle_leaves.groups = {snappy=3, flammable=2, leaves=1}
- minetest.register_node(":default:jungleleaves", new_default_jungle_leaves)
-
minetest.register_abm({
nodenames = "default:jungleleaves",
interval = moretrees.default_jungle_leafdecay_delay,
diff --git a/node_defs.lua b/node_defs.lua
index e0b231c..6d586e0 100644
--- a/node_defs.lua
+++ b/node_defs.lua
@@ -19,6 +19,35 @@ local dirs1 = { 21, 20, 23, 22, 21 }
local dirs2 = { 12, 9, 18, 7, 12 }
local dirs3 = { 14, 11, 16, 5, 14 }
+moretrees_new_leaves_drawtype = "allfaces_optional"
+moretrees_new_leaves_visual_scale = 1.0
+moretrees_new_leaves_extension = ".png"
+
+if moretrees.plantlike_leaves then
+ moretrees_new_leaves_drawtype = "plantlike"
+ moretrees_new_leaves_visual_scale = 1.189
+ moretrees_new_leaves_extension = "_plantlike.png"
+end
+
+new_default_leaves = moretrees:clone_node("default:leaves")
+ if moretrees.enable_default_leafdecay then
+ new_default_leaves.groups = {snappy=3, flammable=2, leaves=1}
+ end
+ new_default_leaves.drawtype = moretrees_new_leaves_drawtype
+ new_default_leaves.visual_scale = moretrees_new_leaves_visual_scale
+ new_default_leaves.tiles = {"default_leaves"..moretrees_new_leaves_extension}
+ minetest.register_node(":default:leaves", new_default_leaves)
+
+new_default_jungle_leaves = clone_node("default:jungleleaves")
+ if moretrees.enable_default_jungle_leafdecay then
+ new_default_jungle_leaves.groups = {snappy=3, flammable=2, leaves=1}
+ end
+ new_default_jungle_leaves = moretrees:clone_node("default:jungleleaves")
+ new_default_jungle_leaves.drawtype = moretrees_new_leaves_drawtype
+ new_default_jungle_leaves.visual_scale = moretrees_new_leaves_visual_scale
+ new_default_jungle_leaves.tiles = {"default_jungleleaves"..moretrees_new_leaves_extension}
+ minetest.register_node(":default:jungleleaves", new_default_jungle_leaves)
+
for i in ipairs(moretrees.treelist) do
local treename = moretrees.treelist[i][1]
local treedesc = moretrees.treelist[i][2]
@@ -103,8 +132,9 @@ for i in ipairs(moretrees.treelist) do
minetest.register_node("moretrees:"..treename.."_leaves", {
description = treedesc.." Leaves",
- drawtype = "allfaces_optional",
- tiles = { "moretrees_"..treename.."_leaves.png" },
+ drawtype = moretrees_new_leaves_drawtype,
+ visual_scale = moretrees_new_leaves_visual_scale,
+ tiles = { "moretrees_"..treename.."_leaves"..moretrees_new_leaves_extension },
paramtype = "light",
groups = {snappy=3, flammable=2, leaves=1, moretrees_leaves=1},
sounds = default.node_sound_leaves_defaults(),
@@ -308,8 +338,9 @@ for color = 1, 3 do
local leave_name = "moretrees:jungletree_leaves_"..jungleleaves[color]
minetest.register_node(leave_name, {
description = "Jungle Tree Leaves ("..jungleleavesnames[color]..")",
- drawtype = "allfaces_optional",
- tiles = {"moretrees_jungletree_leaves_"..jungleleaves[color]..".png"},
+ drawtype = moretrees_new_leaves_drawtype,
+ visual_scale = moretrees_new_leaves_visual_scale,
+ tiles = {"moretrees_jungletree_leaves_"..jungleleaves[color]..moretrees_new_leaves_extension},
paramtype = "light",
groups = {snappy=3, flammable=2, leaves=1, moretrees_leaves=1},
drop = {
@@ -326,9 +357,10 @@ end
-- Extra needles for firs
minetest.register_node("moretrees:fir_leaves_bright", {
- drawtype = "allfaces_optional",
+ drawtype = moretrees_new_leaves_drawtype,
+ visual_scale = moretrees_new_leaves_visual_scale,
description = "Douglas Fir Leaves (Bright)",
- tile_images = { "moretrees_fir_leaves_bright.png" },
+ tile_images = { "moretrees_fir_leaves_bright"..moretrees_new_leaves_extension },
paramtype = "light",
groups = {snappy=3, flammable=2, leaves=1, moretrees_leaves=1 },
diff --git a/textures/default_jungleleaves_plantlike.png b/textures/default_jungleleaves_plantlike.png
new file mode 100644
index 0000000..d7cac73
--- /dev/null
+++ b/textures/default_jungleleaves_plantlike.png
Binary files differ
diff --git a/textures/default_leaves_plantlike.png b/textures/default_leaves_plantlike.png
new file mode 100644
index 0000000..6786a03
--- /dev/null
+++ b/textures/default_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_apple_tree_leaves_plantlike.png b/textures/moretrees_apple_tree_leaves_plantlike.png
new file mode 100644
index 0000000..f333fd0
--- /dev/null
+++ b/textures/moretrees_apple_tree_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_beech_leaves_plantlike.png b/textures/moretrees_beech_leaves_plantlike.png
new file mode 100644
index 0000000..6786a03
--- /dev/null
+++ b/textures/moretrees_beech_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_birch_leaves_plantlike.png b/textures/moretrees_birch_leaves_plantlike.png
new file mode 100644
index 0000000..5c85e3d
--- /dev/null
+++ b/textures/moretrees_birch_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_fir_leaves_bright_plantlike.png b/textures/moretrees_fir_leaves_bright_plantlike.png
new file mode 100644
index 0000000..96bab2f
--- /dev/null
+++ b/textures/moretrees_fir_leaves_bright_plantlike.png
Binary files differ
diff --git a/textures/moretrees_fir_leaves_plantlike.png b/textures/moretrees_fir_leaves_plantlike.png
new file mode 100644
index 0000000..05c93ee
--- /dev/null
+++ b/textures/moretrees_fir_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_jungletree_leaves_green_plantlike.png b/textures/moretrees_jungletree_leaves_green_plantlike.png
new file mode 100644
index 0000000..89da8c6
--- /dev/null
+++ b/textures/moretrees_jungletree_leaves_green_plantlike.png
Binary files differ
diff --git a/textures/moretrees_jungletree_leaves_red_plantlike.png b/textures/moretrees_jungletree_leaves_red_plantlike.png
new file mode 100644
index 0000000..d13ce69
--- /dev/null
+++ b/textures/moretrees_jungletree_leaves_red_plantlike.png
Binary files differ
diff --git a/textures/moretrees_jungletree_leaves_yellow_plantlike.png b/textures/moretrees_jungletree_leaves_yellow_plantlike.png
new file mode 100644
index 0000000..06cf566
--- /dev/null
+++ b/textures/moretrees_jungletree_leaves_yellow_plantlike.png
Binary files differ
diff --git a/textures/moretrees_oak_leaves_plantlike.png b/textures/moretrees_oak_leaves_plantlike.png
new file mode 100644
index 0000000..e860166
--- /dev/null
+++ b/textures/moretrees_oak_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_palm_leaves_plantlike.png b/textures/moretrees_palm_leaves_plantlike.png
new file mode 100644
index 0000000..dd410d1
--- /dev/null
+++ b/textures/moretrees_palm_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_pine_leaves_plantlike.png b/textures/moretrees_pine_leaves_plantlike.png
new file mode 100644
index 0000000..c0334fb
--- /dev/null
+++ b/textures/moretrees_pine_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_rubber_tree_leaves_plantlike.png b/textures/moretrees_rubber_tree_leaves_plantlike.png
new file mode 100644
index 0000000..0ac8a8b
--- /dev/null
+++ b/textures/moretrees_rubber_tree_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_sequoia_leaves_plantlike.png b/textures/moretrees_sequoia_leaves_plantlike.png
new file mode 100644
index 0000000..88b292c
--- /dev/null
+++ b/textures/moretrees_sequoia_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_spruce_leaves_plantlike.png b/textures/moretrees_spruce_leaves_plantlike.png
new file mode 100644
index 0000000..05c93ee
--- /dev/null
+++ b/textures/moretrees_spruce_leaves_plantlike.png
Binary files differ
diff --git a/textures/moretrees_willow_leaves_plantlike.png b/textures/moretrees_willow_leaves_plantlike.png
new file mode 100644
index 0000000..49ad834
--- /dev/null
+++ b/textures/moretrees_willow_leaves_plantlike.png
Binary files differ