forked from VoxeLibre/VoxeLibre
107 lines
3.6 KiB
Lua
107 lines
3.6 KiB
Lua
-- [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.
|
||
|
||
--]]
|