From ab9a22d7afb1d4b25e265057c63fcb6f03dc56c8 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 6 Jun 2022 16:14:44 +0200 Subject: [PATCH] opt-depend on future mcl_bamboo, add (temp)recipe --- mods/ITEMS/mcl_scaffolding/init.lua | 38 ++++++++++++++++++++++------- mods/ITEMS/mcl_scaffolding/mod.conf | 3 ++- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/mods/ITEMS/mcl_scaffolding/init.lua b/mods/ITEMS/mcl_scaffolding/init.lua index 1fc23f996..1c197df2b 100644 --- a/mods/ITEMS/mcl_scaffolding/init.lua +++ b/mods/ITEMS/mcl_scaffolding/init.lua @@ -1,9 +1,11 @@ local modname = minetest.get_current_modname() local S = minetest.get_translator(modname) +local has_bamboo = minetest.get_modpath("mcl_bamboo") + minetest.register_node("mcl_scaffolding:scaffolding", { description = S("Scaffolding"), - --_doc_items_longdesc = doc.sub.items.temp.build, - --_doc_items_hidden = false, + doc_items_longdesc = S("Scaffolding block..."), + doc_items_hidden = false, tiles = {"mcl_scaffolding_scaffolding_top.png","mcl_scaffolding_scaffolding_side.png","mcl_scaffolding_scaffolding_bottom.png"}, drawtype = "nodebox", node_box = { @@ -23,12 +25,10 @@ minetest.register_node("mcl_scaffolding:scaffolding", { climbable = true, groups = { handy=1, axey=1, flammable=3, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=20, falling_node = 1 }, sounds = mcl_sounds.node_sound_wood_defaults(), - _mcl_blast_resistance = 3, - _mcl_hardness = 2, - on_rightclick = function(pos, node, player, itemstack, ptd) - - end, + _mcl_blast_resistance = 0, + _mcl_hardness = 0, on_place = function(itemstack, placer, ptd) + -- count param2 up when placing to the sides. Fall when > 6 local ctrl = placer:get_player_control() if ctrl and ctrl.sneak then local pp2 = minetest.get_node(ptd.under).param2 @@ -37,12 +37,13 @@ minetest.register_node("mcl_scaffolding:scaffolding", { minetest.set_node(ptd.above,{name = "mcl_scaffolding:scaffolding",param2 = np2}) itemstack:take_item(1) end - if np2 > 4 then + if np2 > 6 then minetest.check_single_for_falling(ptd.above) end return itemstack end + --place on solid nodes local node = minetest.get_node(ptd.under) if itemstack:get_name() ~= node.name then minetest.set_node(ptd.above,{name = "mcl_scaffolding:scaffolding",param2 = 0}) @@ -50,6 +51,7 @@ minetest.register_node("mcl_scaffolding:scaffolding", { return itemstack end + --build up when placing on existing scaffold local h = 0 local pos = ptd.under repeat @@ -60,9 +62,9 @@ minetest.register_node("mcl_scaffolding:scaffolding", { minetest.set_node(pos, node) itemstack:take_item(1) placer:set_wielded_item(itemstack) + return itemstack end until cn.name ~= node.name or h >= 32 - return end, after_dig_node = function(pos, oldnode, oldmetadata, digger) local apos = vector.offset(pos,0,1,0) @@ -70,4 +72,22 @@ minetest.register_node("mcl_scaffolding:scaffolding", { minetest.check_for_falling(apos) end end, +}) + +local bamboo = "mcl_core:stick" +if has_bamboo then + bamboo = "mcl_bamboo:bamboo_stem" +end + +minetest.register_craft({ + output = "mcl_scaffolding:scaffolding 6", + recipe = {{bamboo, "mcl_mobitems:string", bamboo}, + {bamboo, "", bamboo}, + {bamboo, "", bamboo}} +}) + +minetest.register_craft({ + type = "fuel", + recipe = "mcl_scaffolding:scaffolding", + burntime = 20 }) \ No newline at end of file diff --git a/mods/ITEMS/mcl_scaffolding/mod.conf b/mods/ITEMS/mcl_scaffolding/mod.conf index 32cab59f4..94fdb2301 100644 --- a/mods/ITEMS/mcl_scaffolding/mod.conf +++ b/mods/ITEMS/mcl_scaffolding/mod.conf @@ -1,3 +1,4 @@ name = mcl_scaffolding author = cora -depends = mcl_sounds +depends = mcl_sounds, mcl_core, mcl_mobitems +optional_depends = mcl_bamboo \ No newline at end of file