-- [bamboo] mod by SmallJoker, Made for MineClone 2 by Michieal (as mcl_bamboo). -- Parts of mcl_scaffolding were used. Mcl_scaffolding originally created by Cora; Fixed and heavily reworked -- for mcl_bamboo by Michieal. -- Creation date: 12-01-2022 (Dec 1st, 2022) -- License for Media: CC-BY-SA 4.0 (except where noted); Code: GPLv3 -- Copyright (C) 2022 - 2023, Michieal. See License.txt -- LOCALS local modname = minetest.get_current_modname() -- Used everywhere. Often this is just the name, but it makes sense to me as BAMBOO, because that's how I think of it... -- "BAMBOO" goes here. local BAMBOO = "mcl_bamboo:bamboo" mcl_bamboo = {} -- BAMBOO GLOBALS dofile(minetest.get_modpath(modname) .. "/globals.lua") -- BAMBOO Base Nodes dofile(minetest.get_modpath(modname) .. "/bamboo_base.lua") -- BAMBOO ITEMS dofile(minetest.get_modpath(modname) .. "/bamboo_items.lua") -- BAMBOO RECIPES dofile(minetest.get_modpath(modname) .. "/recipes.lua") -- ------------------------------------------------------------ --ABMs minetest.register_abm({ label = "Bamboo Grow", nodenames = mcl_bamboo.bamboo_index, interval = 10, chance = 20, action = function(pos, _) mcl_bamboo.grow_bamboo(pos, false) end, }) --[[ TODO: Figure out how to make this work: local function dropper_call(node, pushdir, stack, stackid) mcl_bamboo.mcl_log("mvps_dropper call for bamboo:") -- mcl_bamboo.break_orphaned() mcl_bamboo.mcl_log(dump(node)) end if minetest.get_modpath("mesecons_mvps") then if mesecon then mcl_bamboo.mcl_log("registering mvps_dropper for bamboo:") for x = 1, #mcl_bamboo.bamboo_index do mesecon.register_mvps_dropper(mcl_bamboo.bamboo_index[x],dropper_call) mcl_bamboo.mcl_log("registering: " .. mcl_bamboo.bamboo_index[x]) end end else end --]] minetest.register_abm({ label = "Break Orphaned Bamboo", nodenames = mcl_bamboo.bamboo_index, interval = 1.5, chance = 1, action = function(pos, _) mcl_bamboo.break_orphaned(pos) end, }) -- Base Aliases. local SCAFFOLDING_NAME = "mcl_bamboo:scaffolding" minetest.register_alias("bamboo_block", "mcl_bamboo:bamboo_block") minetest.register_alias("bamboo_strippedblock", "mcl_bamboo:bamboo_block_stripped") minetest.register_alias("bamboo", BAMBOO) minetest.register_alias("bamboo_plank", "mcl_bamboo:bamboo_plank") minetest.register_alias("bamboo_mosaic", "mcl_bamboo:bamboo_mosaic") minetest.register_alias("mcl_stairs:stair_bamboo", "mcl_stairs:stair_bamboo_block") minetest.register_alias("bamboo_stairs", "mcl_stairs:stair_bamboo_block") minetest.register_alias("bamboo:bamboo", BAMBOO) minetest.register_alias("scaffold", SCAFFOLDING_NAME) minetest.register_alias("mcl_scaffolding:scaffolding", SCAFFOLDING_NAME) minetest.register_alias("mcl_scaffolding:scaffolding_horizontal", SCAFFOLDING_NAME) minetest.register_alias("bamboo_fence", "mcl_fences:bamboo_fence") minetest.register_alias("bamboo_fence_gate", "mcl_fences:bamboo_fence_gate") --[[ todo -- make scaffolds do side scaffold blocks, so that they jut out. (Shelved.) todo -- Also, make those blocks collapse (break) when a nearby connected scaffold breaks. waiting on specific things: todo -- Raft -- need model todo -- Raft with Chest. same. todo -- handle bonemeal... (shelved until after redoing the bonemeal api). ----------------------------------------------------------- todo -- Add in Extras. -- Moved to Official Mod Pack. Notes: When bone meal is used on it, it grows by 1–2 blocks. Bamboo can grow up to 12–16 blocks tall. The top of a bamboo plant requires a light level of 9 or above to grow. Design Decision - to not make bamboo saplings, and not make them go through a ton of transformations. --]]