From 2de34ba69dcdc739887be4825cbe12e5654a98af Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 8 Feb 2017 00:34:30 +0100 Subject: [PATCH] Add double stone slab, extend stairs API --- mods/stairs/init.lua | 33 +++++++++++++++--- .../textures/stairs_stone_slab_side.png | Bin 0 -> 433 bytes .../stairs/textures/stairs_stone_slab_top.png | Bin 0 -> 401 bytes 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 mods/stairs/textures/stairs_stone_slab_side.png create mode 100644 mods/stairs/textures/stairs_stone_slab_top.png diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua index b6007c91..d56deaa5 100644 --- a/mods/stairs/init.lua +++ b/mods/stairs/init.lua @@ -99,7 +99,8 @@ local slab_trans_dir_place = {[0] = 0, 20, 12, 16, 4, 8} -- Register slabs. -- Node will be called stairs:slab_ -function stairs.register_slab(subname, recipeitem, groups, images, description, sounds) +-- double_description: NEW argument, not supported in Minetest Game +function stairs.register_slab(subname, recipeitem, groups, images, description, sounds, double_description) groups.slab = 1 groups.building_block = 1 minetest.register_node(":stairs:slab_" .. subname, { @@ -138,7 +139,13 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, player_name) return end - minetest.set_node(pointed_thing.under, {name = recipeitem, param2 = p2}) + local newnode + if double_description then + newnode = "stairs:slab_"..subname.."_double" + else + newnode = recipeitem + end + minetest.set_node(pointed_thing.under, {name = newnode, param2 = p2}) if not minetest.setting_getbool("creative_mode") then itemstack:take_item() end @@ -174,6 +181,21 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, end, }) + -- Double slab node + local dgroups = table.copy(groups) + dgroups.not_in_creative_inventory = 1 + if double_description then + minetest.register_node(":stairs:slab_" .. subname .. "_double", { + description = double_description, + paramtype2 = "facedir", + tiles = images, + is_ground_content = false, + groups = dgroups, + sounds = sounds, + drop = "stairs:slab_"..subname.." 2", + }) + end + if recipeitem then minetest.register_craft({ output = 'stairs:slab_' .. subname .. ' 6', @@ -190,7 +212,8 @@ end -- Nodes will be called stairs:{stair,slab}_ function stairs.register_stair_and_slab(subname, recipeitem, - groups, images, desc_stair, desc_slab, sounds) + groups, images, desc_stair, desc_slab, sounds, + double_slab_node) stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds) stairs.register_slab(subname, recipeitem, groups, images, desc_slab, sounds) end @@ -265,9 +288,9 @@ stairs.register_slab("oakwood", "mcl_core:darkwood", stairs.register_slab("stone", "mcl_core:stone", {cracky=3}, - {"default_stone.png"}, + {"stairs_stone_slab_top.png", "stairs_stone_slab_top.png", "stairs_stone_slab_side.png"}, "Stone Slab", - mcl_core.node_sound_stone_defaults()) + mcl_core.node_sound_stone_defaults(), "Double Stone Slab") stairs.register_stair_and_slab("cobble", "mcl_core:cobble", {cracky=3}, diff --git a/mods/stairs/textures/stairs_stone_slab_side.png b/mods/stairs/textures/stairs_stone_slab_side.png new file mode 100644 index 0000000000000000000000000000000000000000..89a1f13d55b6a31f59f97ea6b6557e7d36c4db63 GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4h9AWhA=@@4F(3r3Qrfu5R22fK^wb{DhPbp z9RJfwQDMo3t+&#=r4c0!{azOv{(g1Y{Wnpz z4N>PCi{^x8yLNvmEl+)BKD>+7p0lCP z|Cx_Z!Uu(rYm&v6qCJ9zVb@pDj|s$p9`y{UIp2k+ckauc2WC>`NKpN)jRFi zeniTJC%StneX{$sqarJK>yOFBmEye51OA!3HucZ^yiQ#EQJ!^fkc;#4Sb?SXN6wdRhe!G-PV}8cVdSUZC%?o^P$6=i(NF(6wcUq=Y%m>ns0O zaPzvSZHoRK7*oy!PC{xWt~$(696gjyr=*G literal 0 HcmV?d00001 diff --git a/mods/stairs/textures/stairs_stone_slab_top.png b/mods/stairs/textures/stairs_stone_slab_top.png new file mode 100644 index 0000000000000000000000000000000000000000..612f1a1fec560c0c10a0b42c8182bbb6cf31e73e GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4h9AWhA=@@4F(3r2u~Ns5R22flQ*tArohqq z`-bdYA0MBdm#3Z_I-wl*Kw)dWp0{q@tA`81*Rlp?&n>?9-8TK1N#)gxg2^^=YwZsg zo!$IZt9fSX@l78DCq4_;56`R-68h|=b5=XRdOgR%S6hoX`LAA>VbI^dK_^b(M&m)V zBsJ^On;&jmbg^suwT{hzA@V}Dl-sKN-0=r5uZvIuDmjhRw*odvu&b4=H|FLGJP}C4Y;H>3vi{^8nZ7_YCPiq z+@(>H;poqjbEl2B&b~2klSfyV?1!|udWTv=I`fL|Em@No-_78#Ak$^HB+rAqfPL2< z23%X@rnw<>>D&z8kjA{as=wdN=KgW?(O6)2Rzv4@Y+sqf1WD69Y$q$fIX!yCobd1Y zF~yy=786!X2u|tTetXv5JAxP8Z8BJuzFe&i>Hqt~`zJHg>!$T5H*tD^!rIf-&t;uc GLK6TJ>$E=r literal 0 HcmV?d00001