summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2013-11-14 18:05:37 -0500
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2013-11-14 18:05:37 -0500
commite1baf2018bf1faff14eaa83e65ba8fa029296e5d (patch)
treedb6d3baad380d32dddf4db41c7d9b7587f53b8ce
parent88eb73af9057ddff9ba3bace76627046848455cf (diff)
Made it possible via moretrees config to force all moretrees, default, and
default jungle tree leaves to be plantlike drawtype. The default setting is now plantlike. Change moretres_settings.txt in your world folder if you don't like it. Rearranged a bit of code to accommodate this.
-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