diff --git a/README.md b/README.md index fbbcce9..7766c1c 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This mod causes fruits on trees from other mods to regrow like apples in the 5.0 Cool_trees modpack, ethereal, farming_plus and moretrees are supported, but maybe there are other mods with this problem that I don't know about. Please tell me in the Minetest Forum topic! -Apples in older versions than Minetest 5.0 will also regrow. +There is also the possibility to enable regrowing apples in Minetest Settings. Notice that this is only necessary for older versions than MT 5.0. Credits ---- diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..70878e3 --- /dev/null +++ b/depends.txt @@ -0,0 +1,13 @@ +default +ethereal? +cherrytree? +chestnuttree? +clementinetree? +ebony? +lemontree? +oak? +palm? +plumtree? +pomegranate? +moretrees? +farming_plus? \ No newline at end of file diff --git a/init.lua b/init.lua index 19ae9c1..fb8c1ef 100644 --- a/init.lua +++ b/init.lua @@ -1,3 +1,5 @@ +local regrowing_apples = minetest.settings:get_bool("regrowing_apples", true) + local add_fruit_regrowable = function(fruit, node, leaves) -- check if node exists @@ -5,42 +7,6 @@ local add_fruit_regrowable = function(fruit, node, leaves) return end - -- make sure cacao pod from cool_trees isn't placed by player - if node == "cacaotree:pod" then - minetest.register_node("regrowing_fruits:cacao", { - description = "Cacao Pod", - drawtype = "nodebox", - tiles = { - "cacaotree_bean_top.png", - "cacaotree_bean_top.png^[transformFY", - "cacaotree_bean_right.png", - "cacaotree_bean_right.png^[transformFX", - "cacaotree_bean_front.png", - }, - paramtype = "light", - paramtype2 = "wallmounted", - node_box = { - type = "fixed", - fixed = { - {-0.25, -0.5, 0, 0.25, 0.0625, 0.5}, - }, - }, - use_texture_alpha = "clip", - drop = "cacaotree:cacao_beans 10", - groups = {fleshy = 3, dig_immediate = 3, flammable = 2, - leafdecay = 3, leafdecay_drop = 1, not_in_creative_inventory = 1}, - sounds = default.node_sound_leaves_defaults(), - walkable = false, - is_ground_content = false, - }) - - minetest.register_on_placenode(function(pos, newnode, placer) - if placer:is_player() and newnode.name == "cacaotree:pod" then - minetest.set_node(pos, {name = "regrowing_fruits:cacao", param2 = newnode.param2}) - end - end) - end - local groups = node.groups if minetest.get_item_group(node, "attached_node") == 1 then groups = {fleshy=3, dig_immediate=3, flammable=2, leafdecay = 1, leafdecay_drop = 1} @@ -58,10 +24,8 @@ local add_fruit_regrowable = function(fruit, node, leaves) end, on_dig = minetest.node_dig, -- override on_dig functions causing regrowth not to work after_dig_node = function(pos, oldnode, oldmetadata, digger) - if oldnode.param2 == 0 and oldnode.name ~= "plumtree:plum" - or oldnode.name == "plumtree:plum" and oldnode.param2 == 1 - or oldnode.name == "cacaotree:pod" then - minetest.set_node(pos, {name = "regrowing_fruits:"..fruit.."_mark", param2 = oldnode.param2}) + if oldnode.param2 == 0 and oldnode.name ~= "plumtree:plum" or oldnode.name == "plumtree:plum" and oldnode.param2 == 1 then + minetest.set_node(pos, {name = "regrowing_fruits:"..fruit.."_mark"}) minetest.get_node_timer(pos):start(math.random(300, 1500)) end end, @@ -84,8 +48,8 @@ local add_fruit_regrowable = function(fruit, node, leaves) minetest.remove_node(pos) elseif minetest.get_node_light(pos) < 13 then minetest.get_node_timer(pos):start(200) - elseif node == "cacaotree:pod" or node == "plumtree:plum" then - minetest.set_node(pos, {name = node, param2 = minetest.get_node(pos).param2}) + elseif node == "plumtree:plum" then + minetest.set_node(pos, {name = node, param2 = 1}) else minetest.set_node(pos, {name = node}) end @@ -94,7 +58,9 @@ local add_fruit_regrowable = function(fruit, node, leaves) end -- apples -add_fruit_regrowable("apple", "default:apple", "default:leaves") +if regrowing_apples then + add_fruit_regrowable("apple", "default:apple", "default:leaves") +end -- ethereal add_fruit_regrowable("banana","ethereal:banana", "ethereal:bananaleaves") @@ -104,8 +70,7 @@ add_fruit_regrowable("lemon", "ethereal:lemon", "ethereal:lemon_leaves") add_fruit_regrowable("olive", "ethereal:olive", "ethereal:olive_leaves") add_fruit_regrowable("orange", "ethereal:orange", "ethereal:orange_leaves") --- cool_trees -add_fruit_regrowable("cacao", "cacaotree:pod", "cacaotree:trunk") -- use trunk instead of leaves +-- cool_trees TODO: add cacao add_fruit_regrowable("cherry", "cherrytree:cherries", "cherrytree:blossom_leaves") add_fruit_regrowable("chestnut", "chestnuttree:bur", "chestnuttree:leaves") add_fruit_regrowable("clementine", "clementinetree:clementine", "clementinetree:leaves") diff --git a/mod.conf b/mod.conf index b1a8860..9fb6774 100644 --- a/mod.conf +++ b/mod.conf @@ -1,6 +1,4 @@ name = regrowing_fruits author = philipmi -depends = -optional_depends = default, ethereal, cacaotree, cherrytree, chestnuttree, clementinetree, ebony, lemontree, oak, palm, plumtree, pomegranate, moretrees, farming_plus description = Fruits on trees from other mods will regrow. title = Regrowing Fruits diff --git a/settingtypes.txt b/settingtypes.txt new file mode 100644 index 0000000..e40b9b8 --- /dev/null +++ b/settingtypes.txt @@ -0,0 +1 @@ +regrowing_apples (Regrowing apples: unnecessary for MT 5.x) bool false \ No newline at end of file