aboutsummaryrefslogtreecommitdiff
path: root/stairsplus/microblocks.lua
diff options
context:
space:
mode:
Diffstat (limited to 'stairsplus/microblocks.lua')
-rw-r--r--stairsplus/microblocks.lua43
1 files changed, 43 insertions, 0 deletions
diff --git a/stairsplus/microblocks.lua b/stairsplus/microblocks.lua
new file mode 100644
index 0000000..2a1943a
--- /dev/null
+++ b/stairsplus/microblocks.lua
@@ -0,0 +1,43 @@
+-- Load translation library if intllib is installed
+
+local S
+if (minetest.get_modpath("intllib")) then
+ dofile(minetest.get_modpath("intllib").."/intllib.lua")
+ S = intllib.Getter(minetest.get_current_modname())
+ else
+ S = function ( s ) return s end
+end
+
+-- Node will be called <modname>micro_<subname>
+
+function register_micro(modname, subname, recipeitem, groups, images, description, drop, light)
+
+ minetest.register_node(":"..modname .. ":micro_" .. subname, {
+ description = S("%s Microblock"):format(S(description)),
+ drawtype = "nodebox",
+ tiles = images,
+ light_source = light,
+ drop = modname .. ":micro_" .. drop,
+ paramtype = "light",
+ paramtype2 = "facedir",
+ sunlight_propagates = true,
+ groups = groups,
+ node_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, 0, 0, 0, 0.5},
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, 0, 0, 0, 0.5},
+ },
+ sounds = default.node_sound_stone_defaults(),
+ on_place = function(itemstack, placer, pointed_thing)
+ local keys=placer:get_player_control()
+ stairsplus_rotate_and_place(itemstack, placer, pointed_thing, keys["sneak"])
+ return itemstack
+ end
+ })
+
+ minetest.register_alias(modname..":micro_"..subname.."_bottom", modname..":micro_"..subname)
+end
+