-- Set this to true to allow usage of the stairsplus mod -- from moreblocks -- local ENABLE_STAIRSPLUS = false local S = function (x) return x end local cvt = default.convert_node local reg_alias = ocutil.safe_register_alias local reg_item = ocutil.safe_register_item local reg_node = ocutil.safe_register_node -- -- Item Registration -- -- Quartz Crystal reg_item ("quartz:crystal", { description = S("Quartz Crystal"), inventory_image = "quartz_crystal_full.png", }) reg_item ("quartz:crystal_piece", { description = S("Quartz Crystal Piece"), inventory_image = "quartz_crystal_piece.png", }) -- -- Node Registration -- -- Ore reg_node ("quartz:ore", { description = S("Quartz Ore"), tiles = {"default_stone.png^quartz_ore.png"}, groups = {cracky=3, stone=1}, drop = 'quartz:crystal', sounds = default.sound_stone(), }) reg_alias ("quartz:quartz_ore", "quartz:ore") minetest.register_ore({ ore_type = "scatter", ore = "quartz:ore", wherein = "default:stone", clust_scarcity = 10*10*10, clust_num_ores = 6, clust_size = 5, y_min = -31000, y_max = -5, }) -- Quartz Block reg_node ("quartz:block", { description = S("Quartz Block"), tiles = {"quartz_block.png"}, groups = {cracky=3, oddly_breakable_by_hand=1, locksprite=1}, sounds = default.node_sound_glass_defaults(), paramtype="light", light_source=3, }) -- Chiseled Quartz reg_node ("quartz:chiseled", { description = S("Chiseled Quartz"), tiles = {"quartz_chiseled.png"}, groups = {cracky=3, oddly_breakable_by_hand=1}, sounds = default.node_sound_glass_defaults(), }) -- Quartz Pillar reg_node ("quartz:pillar", { description = S("Quartz Pillar"), paramtype2 = "facedir", tiles = {"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"}, groups = {cracky=3, oddly_breakable_by_hand=1}, sounds = default.node_sound_glass_defaults(), on_place = minetest.rotate_node }) -- Stairs & Slabs stairs.register_all("quartzblock", "quartz:block", {cracky=3, oddly_breakable_by_hand=1}, {"quartz_block.png"}, "Quartz" , default.node_sound_glass_defaults()) stairs.register_all("quartzstair", "quartz:pillar", {cracky=3, oddly_breakable_by_hand=1}, {"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"}, "Quartz Pillar" , default.node_sound_glass_defaults()) -- -- Crafting -- -- Quartz Crystal Piece minetest.register_craft({ output = '"quartz:crystal_piece" 3', recipe = { {'quartz:crystal'} } }) -- Quartz Block minetest.register_craft({ output = '"quartz:block" 4', recipe = { {'quartz:crystal', 'quartz:crystal', ''}, {'quartz:crystal', 'quartz:crystal', ''}, {'', '', ''} } }) -- Chiseled Quartz minetest.register_craft({ output = 'quartz:chiseled 2', recipe = { {'stairs:slab_quartzblock', '', ''}, {'stairs:slab_quartzblock', '', ''}, {'', '', ''}, } }) -- Chiseled Quartz (for stairsplus) minetest.register_craft({ output = 'quartz:chiseled 2', recipe = { {'quartz:slab_block', '', ''}, {'quartz:slab_block', '', ''}, {'', '', ''}, } }) -- Quartz Pillar minetest.register_craft({ output = 'quartz:pillar 2', recipe = { {'quartz:block', '', ''}, {'quartz:block', '', ''}, {'', '', ''}, } }) -- -- ABMS -- local dirs2 = {12, 9, 18, 7, 12} -- Replace all instances of the horizontal quartz pillar with the minetest.register_abm({ nodenames = {"quartz:pillar_horizontal"}, interval = 1, chance = 1, catch_up = false, action = function(pos, node, active_object_count, active_object_count_wider) local fdir = node.param2 or 0 nfdir = dirs2[fdir+1] minetest.add_node(pos, {name = "quartz:pillar", param2 = nfdir}) end, }) -- -- Compatibility with stairsplus -- if coderblocks.has_moreblocks and ENABLE_STAIRSPLUS then register_stair_slab_panel_micro("quartz", "block", "quartz:block", {cracky=3}, {"quartz_block.png"}, "Quartz Block", "block", 0 ) register_stair_slab_panel_micro("quartz", "chiseled", "quartz:chiseled", {cracky=3}, {"quartz_chiseled.png"}, "Chiseled Quartz", "chiseled", 0 ) register_stair_slab_panel_micro("quartz", "pillar", "quartz:pillar", {cracky=3}, {"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"}, "Quartz Pillar", "pillar", 0 ) table.insert(circular_saw.known_stairs, "quartz:block") table.insert(circular_saw.known_stairs, "quartz:chiseled") table.insert(circular_saw.known_stairs, "quartz:pillar") end cvt ("moreblocks:stair_quartz" , "stairs:stair_quartz" )