diff options
author | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-02-21 16:58:40 -0500 |
---|---|---|
committer | Hugo Locurcio <hugo.l@openmailbox.org> | 2017-02-21 22:58:40 +0100 |
commit | 0569ff9683529a5d2b0760013059664bbf98d7c7 (patch) | |
tree | 7a67dc8e969345f3125c89e7ffe41a8174280873 /stairsplus | |
parent | 6f033c1695207bcc9c55716e75381beddb57fcbb (diff) | |
download | moreblocks-0569ff9683529a5d2b0760013059664bbf98d7c7.tar.gz moreblocks-0569ff9683529a5d2b0760013059664bbf98d7c7.tar.bz2 moreblocks-0569ff9683529a5d2b0760013059664bbf98d7c7.zip |
add a few new shapes to the table saw: (#67)
* 1/16 slab, L-shaped (two sides)
* 1/16 slab, corner-shaped (three sides)
* 1/16 slab, U-shaped (three sides)
Diffstat (limited to 'stairsplus')
-rw-r--r-- | stairsplus/slabs.lua | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/stairsplus/slabs.lua b/stairsplus/slabs.lua index 2a86b0f..5d9a434 100644 --- a/stairsplus/slabs.lua +++ b/stairsplus/slabs.lua @@ -28,6 +28,20 @@ local slabs_defs = { ["_2"] = 2, ["_14"] = 14, ["_15"] = 15, + ["_two_sides"] = { + { -0.5, -0.5, -0.5, 0.5, -7/16, 7/16 }, + { -0.5, -0.5, 7/16, 0.5, 0.5, 0.5 } + }, + ["_three_sides"] = { + { -7/16, -0.5, -0.5, 0.5, -7/16, 7/16 }, + { -7/16, -0.5, 7/16, 0.5, 0.5, 0.5 }, + { -0.5, -0.5, -0.5, -7/16, 0.5, 0.5 } + }, + ["_three_sides_u"] = { + { -0.5, -0.5, -0.5, 0.5, 0.5, -7/16 }, + { -0.5, -0.5, -7/16, 0.5, -7/16, 7/16 }, + { -0.5, -0.5, 7/16, 0.5, 0.5, 0.5 } + } } function stairsplus:register_slab_alias(modname_old, subname_old, modname_new, subname_new) @@ -47,21 +61,36 @@ end function stairsplus:register_slab(modname, subname, recipeitem, fields) local defs = stairsplus.copytable(slabs_defs) local desc_base = S("%s Slab"):format(fields.description) - for alternate, num in pairs(defs) do - local def = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, (num/16)-0.5, 0.5}, + for alternate, shape in pairs(defs) do + + local def = {} + + if type(shape) ~= "table" then + def = { + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, (shape/16)-0.5, 0.5}, + }, + description = ("%s (%d/16)"):format(desc_base, shape) + } + else + def = { + node_box = { + type = "fixed", + fixed = shape, + }, + description = desc_base } - } + end + for k, v in pairs(fields) do def[k] = v end + def.drawtype = "nodebox" def.paramtype = "light" def.paramtype2 = def.paramtype2 or "facedir" def.on_place = minetest.rotate_node - def.description = ("%s (%d/16)"):format(desc_base, num) def.groups = stairsplus:prepare_groups(fields.groups) if fields.drop and not (type(fields.drop) == "table") then def.drop = modname.. ":slab_" .. fields.drop .. alternate |