biomes/bambooforest/init.lua

785 lines
23 KiB
Lua
Executable File

-- Bamboo
minetest.register_node("bambooforest:bamboo", {
description = "Bamboo",
drawtype = "plantlike",
tiles = {"bambooforest_bamboo_tree.png"},
inventory_image = "bambooforest_bamboo_tree.png",
wield_image = "bambooforest_bamboo_tree.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.10, -0.5, -0.10, 0.10, 0.5, 0.10}
},
groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end
})
---------Biome
minetest.register_biome({
name = "bamboo_forest",
node_top = "bambooforest:dirt_with_bamboo",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 70,
node_riverbed = "default:sand",
depth_riverbed = 3,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = 5,
heat_point = 89,
humidity_point = 77,
})
-------------Sapling
minetest.register_node("bambooforest:bamboo_sapling", {
description = "Bamboo Sapling",
drawtype = "plantlike",
tiles = {"bambooforest_bamboo_sapling.png"},
inventory_image = "bambooforest_bamboo_sapling.png",
wield_image = "bambooforest_bamboo_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_sapling,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"bambooforest:bamboo_sapling",
-- minp, maxp to be checked, relative to sapling pos
-- minp_relative.y = 1 because sapling pos has been checked
{x = -2, y = 1, z = -2},
{x = 2, y = 15, z = 2},
-- maximum interval of interior volume check
4)
return itemstack
end,
})
------------Shematics
minetest.register_decoration({
name = "bambooforest:bamboo_tree_1",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_1.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:bamboo_tree_2",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_2.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:bamboo_tree_3",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_3.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:bamboo_tree_4",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_4.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:bamboo_tree_5",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_5.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:bamboo_tree_5",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_5.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:bamboo_tree_6",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_6.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:bamboo_tree_7",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_7.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:bamboo_tree_8",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_8.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:bamboo_tree_9",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_9.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:ruins_1",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = -1,
sidelen = 16,
fill_ratio = 0.000135,
biomes = {"bamboo_forest"},
y_max = 30,
y_min = 10,
schematic = minetest.get_modpath("bambooforest").."/schematics/ruins_1.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "bambooforest:jungle_tree",
deco_type = "schematic",
place_on = {"bambooforest:dirt_with_bamboo"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.021565,
biomes = {"bamboo_forest"},
y_max = 31000,
y_min = -20,
schematic = minetest.get_modpath("default").."/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
--------------Decoration (node)
minetest.register_decoration({
deco_type = "simple",
place_on = {"bambooforest:dirt_with_bamboo"},
sidelen = 16,
fill_ratio = 0.1,
biomes = {"bamboo_forest"},
decoration = {
"default:junglegrass"
}
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"bambooforest:dirt_with_bamboo"},
sidelen = 16,
fill_ratio = 0.05,
biomes = {"bamboo_forest"},
decoration = {
"flowers:mushroom_brown", "flowers:mushroom_red"
}
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"bambooforest:dirt_with_bamboo"},
sidelen = 16,
fill_ratio = 0.05,
biomes = {"bamboo_forest"},
decoration = {
"bambooforest:melon_block",
}
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"bambooforest:dirt_with_bamboo"},
sidelen = 16,
fill_ratio = 0.2,
biomes = {"bamboo_forest"},
decoration = {
"default:grass_1", "default:grass_2",
"default:grass_3", "default:grass_4",
"default:grass_5",
}
})
-----Sapling
local function grow_new_bamboo_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_1.mts", "0", nil, true)
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_2.mts", "0", nil, true)
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_3.mts", "0", nil, true)
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_4.mts", "0", nil, true)
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_5.mts", "0", nil, true)
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_6.mts", "0", nil, true)
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_7.mts", "0", nil, true)
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_8.mts", "0", nil, true)
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_9.mts", "0", nil, true)
end
---------------Node
minetest.register_node("bambooforest:bamboo_wood", {
description = "Bamboo Wood",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"bamboo_wood.png"},
is_ground_content = false,
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("bambooforest:dirt_with_bamboo", {
description = "Dirt with Bamboo",
tiles = {"bambooforest_bamboo_grass.png", "default_dirt.png",
{name = "default_dirt.png^bambooforest_bamboo_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "default:dirt",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.register_node("bambooforest:bamboo_glass", {
description = "Bamboo Glass",
drawtype = "allfaces",
tiles = {"bamboo_glass.png"},
use_texture_alpha = true,
paramtype = "light",
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("bambooforest:bamboo_block", {
description = "Bamboo Block",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"bamboo_block.png"},
is_ground_content = false,
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
doors.register_trapdoor("bambooforest:bamboo_trapdoor", {
description = "Bamboo Trapdoor",
inventory_image = "bamboo_trapdoor.png",
wield_image = "bamboo_trapdoor.png",
tile_front = "bamboo_trapdoor.png",
tile_side = "bamboo_trapdoor_side.png",
gain_open = 0.06,
gain_close = 0.13,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
})
doors.register_fencegate("bambooforest:gate_bamboo", {
description = "Bamboo Wood Fence Gate",
texture = "bamboo_wood_fence.png",
material = "bambooforest:bamboo_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register("bamboo_door", {
tiles = {{ name = "doors_bamboo_door.png", backface_culling = true }},
description = "Bamboo Door",
inventory_image = "doors_item_bamboo.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"bambooforest:fiber_bamboo", "bambooforest:bamboo_wood"},
{"bambooforest:bamboo_wood", "bambooforest:fiber_bamboo"},
{"bambooforest:fiber_bamboo", "bambooforest:bamboo_wood"},
}
})
minetest.register_node("bambooforest:granite", {
description = "Granite",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"granite.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2, level = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("bambooforest:granite_block", {
description = "Granite Block",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"granite_block.png"},
is_ground_content = false,
groups = {cracky = 2, stone = 2, level = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("bambooforest:granite_brick", {
description = "Granite Brick",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"granite_brick.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2, level = 2},
sounds = default.node_sound_stone_defaults(),
})
-------------Item
minetest.register_craftitem("bambooforest:bamboo_cooked", {
description = "Bamboo Cooked",
inventory_image = "bamboo_cooked.png",
on_use = minetest.item_eat(2),
groups = {food_bread = 1},
})
minetest.register_craftitem("bambooforest:fiber_bamboo", {
description = "Bamboo Fiber",
inventory_image = "fibre_bamboo.png",
})
------------Crafting
minetest.register_craft({
output = "bambooforest:bamboo_wood",
recipe = {
{"bambooforest:bamboo", "bambooforest:bamboo"},
{"bambooforest:bamboo", "bambooforest:bamboo"},
}
})
minetest.register_craft({
output = "bambooforest:fiber_bamboo 8",
recipe = {
{"bambooforest:bamboo"},
}
})
minetest.register_craft({
output = "bambooforest:granite 4",
recipe = {
{"default:sand", "default:silver_sand"},
{"default:gravel", "default:stone"},
}
})
minetest.register_craft({
output = "bambooforest:granite_block 9",
recipe = {
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
}
})
minetest.register_craft({
output = "bambooforest:granite_brick 4",
recipe = {
{"bambooforest:granite_block", "bambooforest:granite_block"},
{"bambooforest:granite_block", "bambooforest:granite_block"},
}
})
minetest.register_craft({
output = "bambooforest:bamboo_glass",
recipe = {
{"", "bambooforest:bamboo", ""},
{"bambooforest:bamboo", "default:glass", "bambooforest:bamboo"},
{"", "bambooforest:bamboo", ""},
}
})
minetest.register_craft({
output = "bambooforest:bamboo_block",
recipe = {
{"bambooforest:bamboo_wood", "bambooforest:bamboo", "bambooforest:bamboo_wood"},
{"bambooforest:bamboo", "bambooforest:bamboo_wood", "bambooforest:bamboo"},
{"bambooforest:bamboo_wood", "bambooforest:bamboo", "bambooforest:bamboo_wood"},
}
})
minetest.register_craft({
output = "bambooforest:bamboo_sapling",
recipe = {
{"bambooforest:bamboo", "default:dirt"},
{"default:dirt", "bambooforest:bamboo"},
}
})
minetest.register_craft({
output = "bambooforest:bamboo_trapdoor 2",
recipe = {
{"bambooforest:fiber_bamboo", "bambooforest:bamboo_wood", "bambooforest:fiber_bamboo"},
{"bambooforest:bamboo_wood", "bambooforest:fiber_bamboo", "bambooforest:bamboo_wood"},
{"", "", ""},
}
})
minetest.register_craft({
output = "walls:bamboo_block 6",
recipe = {
{"bambooforest:bamboo_block", "bambooforest:bamboo_block", "bambooforest:bamboo_block"},
{"bambooforest:bamboo_block", "bambooforest:bamboo_block", "bambooforest:bamboo_block"},
{"", "", ""},
}
})
minetest.register_craft({
output = "bambooforest:melon 4",
recipe = {
{"bambooforest:melon_block"},
}
})
minetest.register_craft({
output = "bambooforest:seed_melon 1",
recipe = {
{"bambooforest:melon"},
}
})
minetest.register_craft({
type = "cooking",
cooktime = 20,
output = "bambooforest:bamboo_cooked",
recipe = "bambooforest:bamboo"
})
--------Fence
default.register_fence("bambooforest:fence_bamboo_wood", {
description = "Bamboo Wood Fence",
texture = "bamboo_wood_fence.png",
inventory_image = "default_fence_overlay.png^bamboo_wood_fence.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^bamboo_wood_fence.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
material = "bambooforest:bamboo_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
})
default.register_fence_rail("bambooforest:fence_rail_bamboo_wood", {
description = "Bamboo Wood Fence Rail",
texture = "bamboo_wood_fence.png",
inventory_image = "default_fence_rail_overlay.png^bamboo_wood_fence.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^bamboo_wood_fence.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "bambooforest:bamboo_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
})
------------------Mapgen
-- Granite
minetest.register_ore({
ore_type = "blob",
ore = "bambooforest:granite",
wherein = {"default:stone"},
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = -50,
y_min = -31000,
noise_threshold = 0.0,
noise_params = {
offset = 0.5,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = 766,
octaves = 1,
persist = 0.0
},
})
-----------------Moreblock
if minetest.get_modpath("moreblocks") then
stairsplus:register_all("bamboo_wood", "wood", "bambooforest:bamboo_wood", {
description = "Bamboo Wood",
tiles = {"bamboo_wood.png"},
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("bamboo_glass", "glass", "bambooforest:bamboo_glass", {
description = "Bamboo Glass",
tiles = {"bamboo_glass.png"},
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
stairsplus:register_all("bamboo_block", "wood", "bambooforest:bamboo_block", {
description = "Bamboo Block",
tiles = {"bamboo_block.png"},
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("granite", "stone", "bambooforest:granite", {
description = "Granite",
tiles = {"granite.png"},
groups = {cracky = 3, stone = 2, level = 1},
sounds = default.node_sound_stone_defaults(),
})
stairsplus:register_all("granite_block", "stone", "bambooforest:granite_block", {
description = "Granite Block",
tiles = {"granite_block.png"},
groups = {cracky = 3, stone = 2, level = 1},
sounds = default.node_sound_stone_defaults(),
})
stairsplus:register_all("granite_brick", "stone", "bambooforest:granite_brick", {
description = "Granite Brick",
tiles = {"granite_brick.png"},
groups = {cracky = 3, stone = 2, level = 1},
sounds = default.node_sound_stone_defaults(),
})
end
if minetest.get_modpath("walls") then
walls.register(":walls:bamboo_block", "Bamboo Block Wall", "bamboo_block.png",
"bambooforest:bamboo_block", default.node_sound_wood_defaults())
walls.register(":walls:granite_brick", "Granite Brick Wall", "granite_brick.png",
"bambooforest:granite_brick", default.node_sound_stone_defaults())
end
minetest.register_craft({
output = "walls:granite_brick 6",
recipe = {
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
{"", "", ""},
}
})
-------Melon
farming.register_plant("bambooforest:melon", {
description = "Melon Seed",
inventory_image = "melon_seed.png",
steps = 8,
minlight = 13,
maxlight = default.LIGHT_MAX,
fertility = {"bamboo_forest"},
groups = {flammable = 4},
place_param2 = 3,
})
-- needed
minetest.register_craftitem("bambooforest:melon", {
description = "Melon",
inventory_image = "melon.png",
on_use = minetest.item_eat(2),
groups = {food_bread = 1, flammable = 2},
})
-- Melon fruit harvest
minetest.register_node("bambooforest:melon_fruit", {
description = "Melon Fruit",
tiles = {"bambooforest_melon_fruit_top.png", "bambooforest_melon_fruit_top.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png"},
sounds = default.node_sound_wood_defaults(),
is_ground_content = false,
groups = {snappy=3, flammable=4, fall_damage_add_percent=-30, not_in_creative_inventory=1},
drop = {
max_items = 7, -- Maximum number of items to drop.
items = { -- Choose max_items randomly from this list.
{
items = {"bambooforest:melon"}, -- Items to drop.
rarity = 1, -- Probability of dropping is 1 / rarity.
},
{
items = {"bambooforest:melon"}, -- Items to drop.
rarity = 2, -- Probability of dropping is 1 / rarity.
},
{
items = {"bambooforest:melon"}, -- Items to drop.
rarity = 2, -- Probability of dropping is 1 / rarity.
},
{
items = {"bambooforest:melon"}, -- Items to drop.
rarity = 2, -- Probability of dropping is 1 / rarity.
},
{
items = {"bambooforest:melon"}, -- Items to drop.
rarity = 3, -- Probability of dropping is 1 / rarity.
},
{
items = {"bambooforest:melon"}, -- Items to drop.
rarity = 3, -- Probability of dropping is 1 / rarity.
},
{
items = {"bambooforest:melon"}, -- Items to drop.
rarity = 3, -- Probability of dropping is 1 / rarity.
},
},
},
after_dig_node = function(pos, oldnode, oldmetadata, digger)
local parent = oldmetadata.fields.parent
local parent_pos_from_child = minetest.string_to_pos(parent)
local parent_node = nil
-- make sure we have position
if parent_pos_from_child
and parent_pos_from_child ~= nil then
parent_node = minetest.get_node(parent_pos_from_child)
end
-- tick parent if parent stem still exists
if parent_node
and parent_node ~= nil
and parent_node.name == "bambooforest:melon_8" then
farming.tick(parent_pos_from_child)
end
end
})
-- MELON BLOCK - HARVEST from crops
minetest.register_node("bambooforest:melon_block", {
description = "Melon Block",
tiles = {"bambooforest_melon_fruit_top.png", "bambooforest_melon_fruit_top.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png"},
sounds = default.node_sound_wood_defaults(),
is_ground_content = false,
groups = {snappy=3, flammable=4, fall_damage_add_percent=-30}
})
-- take over the growth from minetest_game bambooforest from here
minetest.override_item("bambooforest:melon_8", {
next_plant = "bambooforest:melon_block",
on_timer = farming.grow_block
})
-- replacement LBM for pre-nodetimer plants
minetest.register_lbm({
name = "bambooforest:start_nodetimer_melon",
nodenames = {"bambooforest:melon_8"},
action = function(pos, node)
farming.tick_short(pos)
end,
})
if minetest.get_modpath("bonemeal") then
bonemeal:add_crop({
{"bambooforest:melon_", 8, "bambooforest:seed_melon"},
})
end