From 2d8498545ccd63497e271f893e1444ded47a1823 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 6 Jun 2022 15:56:16 +0200 Subject: [PATCH] Add scaffolding --- mods/ITEMS/mcl_scaffolding/init.lua | 73 ++++++++++++++++++ mods/ITEMS/mcl_scaffolding/mod.conf | 3 + .../mcl_scaffolding_scaffolding_bottom.png | Bin 0 -> 316 bytes .../mcl_scaffolding_scaffolding_side.png | Bin 0 -> 1858 bytes .../mcl_scaffolding_scaffolding_top.png | Bin 0 -> 343 bytes 5 files changed, 76 insertions(+) create mode 100644 mods/ITEMS/mcl_scaffolding/init.lua create mode 100644 mods/ITEMS/mcl_scaffolding/mod.conf create mode 100644 mods/ITEMS/mcl_scaffolding/textures/mcl_scaffolding_scaffolding_bottom.png create mode 100644 mods/ITEMS/mcl_scaffolding/textures/mcl_scaffolding_scaffolding_side.png create mode 100644 mods/ITEMS/mcl_scaffolding/textures/mcl_scaffolding_scaffolding_top.png diff --git a/mods/ITEMS/mcl_scaffolding/init.lua b/mods/ITEMS/mcl_scaffolding/init.lua new file mode 100644 index 000000000..1fc23f996 --- /dev/null +++ b/mods/ITEMS/mcl_scaffolding/init.lua @@ -0,0 +1,73 @@ +local modname = minetest.get_current_modname() +local S = minetest.get_translator(modname) +minetest.register_node("mcl_scaffolding:scaffolding", { + description = S("Scaffolding"), + --_doc_items_longdesc = doc.sub.items.temp.build, + --_doc_items_hidden = false, + tiles = {"mcl_scaffolding_scaffolding_top.png","mcl_scaffolding_scaffolding_side.png","mcl_scaffolding_scaffolding_bottom.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + is_ground_content = false, + walkable = false, + 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, + on_place = function(itemstack, placer, ptd) + local ctrl = placer:get_player_control() + if ctrl and ctrl.sneak then + local pp2 = minetest.get_node(ptd.under).param2 + local np2 = pp2 + 1 + if minetest.get_node(vector.offset(ptd.above,0,-1,0)).name == "air" then + minetest.set_node(ptd.above,{name = "mcl_scaffolding:scaffolding",param2 = np2}) + itemstack:take_item(1) + end + if np2 > 4 then + minetest.check_single_for_falling(ptd.above) + end + return itemstack + end + + 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}) + itemstack:take_item(1) + return itemstack + end + + local h = 0 + local pos = ptd.under + repeat + pos.y = pos.y + 1 + h = h + 1 + local cn = minetest.get_node(pos) + if cn.name == "air" then + minetest.set_node(pos, node) + itemstack:take_item(1) + placer:set_wielded_item(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) + if oldnode.name == minetest.get_node(apos).name then + minetest.check_for_falling(apos) + end + end, +}) \ No newline at end of file diff --git a/mods/ITEMS/mcl_scaffolding/mod.conf b/mods/ITEMS/mcl_scaffolding/mod.conf new file mode 100644 index 000000000..32cab59f4 --- /dev/null +++ b/mods/ITEMS/mcl_scaffolding/mod.conf @@ -0,0 +1,3 @@ +name = mcl_scaffolding +author = cora +depends = mcl_sounds diff --git a/mods/ITEMS/mcl_scaffolding/textures/mcl_scaffolding_scaffolding_bottom.png b/mods/ITEMS/mcl_scaffolding/textures/mcl_scaffolding_scaffolding_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..b4bd1fea3c97ff43bbd950a52085b43305684566 GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#_^vJzX3_Ec};FHsm{Gz~fqLYG!sMjBVK_!zsOjd=qBQlrC^N-2G*3lA^21 z)O|VT_wV;jzVUX;_f0=ld;Hc3da!T@7Peh`n*6rt#;-lMe>~q@ z@4&Zn*)`*ZtfivSCtAc#EZ$)#@@*=oZi_=cyU5atQh}2#Vvj`J+B`lkR19l;sQB%i z0!u*^>wzDkZm#Z4SEm{M(7z{TKi}Anb5p|Ko>rihY=JUczMQ)i0rV*YgQu&X%Q~lo FCIH_tcwhhk literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_scaffolding/textures/mcl_scaffolding_scaffolding_side.png b/mods/ITEMS/mcl_scaffolding/textures/mcl_scaffolding_scaffolding_side.png new file mode 100644 index 0000000000000000000000000000000000000000..7383606bb9a9188e983d45295bbf70d1d31d36d9 GIT binary patch literal 1858 zcmV-I2fg@-P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bvmgFc5{O1&N1SAm4aaiB$8_e-1SiGb=t2%35 zr(YUU1(JveOD@&^{ngb!_%JamD?YgBoW{pS8#!ST^!lukw4L|;Lm!hDyE^~CFd2+y z{d8@wPq53i!P{-muXg3j_7k?F!}E4%Mr6ihuM69e;bo`&TgAOE+1qjUx3uX(({}p& zZ9TxK0;6HY&A^U(7*Wjll1cdTydyB~g1I&UcVpx|cIuoyz&mFT>~z|8^9qI1ZZB{T zjJBQRJ$4hJ2Wv;S*y}o~L*!5mR?`@qfSqG$?+J`!hGG|zr0i~JS94?QqVD9G? zaRnT)fUycTGp?d25(Di{mMSIc)aF>IAVtfKJx1mN4u&ll&ykB66xeZ5XK$jZ3S6)$ zV9mhHXD&43#u=|rK;%kT$pmME(cdoh&iH?>(^2n3x1gkD9IUTojB*b8#O9<PHW;&WoxfOv+55u^OQ-iwA z-0!@-VXdawQOqQ0JcR>OZ8{2@6S6|md~89_xz*%cNQ|^lqj}8G9_n1if^ss}h%0~~ zENhJDv~Dg>sX0xZI~!*8~uRYP7(5wxjQ2|*ORK$7Za#; z4_MbY=szj6j@C4zMCP50d%y9#UKY z;{&_{k-9XN@zA%esW$qcZ5z+bWglK$0Z(BbZU*kdjb)wv)@sRX{b=`_6F?%oScCjb z^asSKE-PTTQae+mGsR-o)U7aT#d&Ucj%DLhA}>5`aIbWz3-d8LwxE4~)^-z6E{d=*6XVM)DJ=l8`~y%yIi&@H{I79N=N z@fb`X@ITD5s&5{!AB}fMJ=P64nH;{__9mP0SM@itxjTBF&8>PI6hQZ~n|vKFJcnG> z4|V8010qNS#tmY4#NNd4#NS*Z>VGd000McNliruO<-PH$JdqV#Eq23Q#H zJgcuFJSo-?0nRUmr6N~2`+S_~cuAT6lxgLn`tj=;&k>YPKMk@#C5CDaXj6eoc+-8p w)9#)WSoy@UE7V=vw5U_7ZhfZw6Fn?^4~i4kkl(v!3jhEB07*qoM6N<$f@>6bF#rGn literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_scaffolding/textures/mcl_scaffolding_scaffolding_top.png b/mods/ITEMS/mcl_scaffolding/textures/mcl_scaffolding_scaffolding_top.png new file mode 100644 index 0000000000000000000000000000000000000000..b0939c895af9076b5354f2fc60b39ad377001e2a GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#_@=JY5_^Ed19_+Q@gvfXC%;c23R;X&#@{gTe~DWM4fl3j&I literal 0 HcmV?d00001