local modname = minetest.get_current_modname() local modpath = minetest.get_modpath (modname) local morebench = true screwdriver = screwdriver or {} if minetest.settings:get_bool ("enable_lapis_mod_columns") then dofile (modpath .. "/columns.lua") end ---------- --Nodes ---------- minetest.register_node ("lapis:lapis_block", { description = "Lapis with Calcite", tiles = {"lapis_block.png"}, paramtype = "light", is_ground_content = true, groups = {cracky = 3}, drop = { max_items = 1, items = { {items = {'lapis:lapis_stone'}, rarity = 10}, {items = {'lapis:lapis_cobble'}}, }, }, sounds = default.node_sound_stone_defaults() , workbench = morebench , }) minetest.register_node ("lapis:lapis_brick", { description = "Lapis Brick", tiles = { "lapis_brick_top.png", "lapis_brick_top.png^[transformFXR90", "lapis_brick_side.png", "lapis_brick_side.png^[transformFX", "lapis_brick.png^[transformFX", "lapis_brick.png" } , paramtype = "light", paramtype2 = "facedir", place_param2 = 0, on_rotate = screwdriver.rotate_simple, is_ground_content = false, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults() , workbench = morebench , }) minetest.register_node ("lapis:lapis_cobble", { description = "Cobbled Lapis", tiles = { "lapis_cobble.png", "lapis_cobble.png^[transformFY", "lapis_cobble.png^[transformFX", "lapis_cobble.png", "lapis_cobble.png^[transformFX", "lapis_cobble.png" }, paramtype = "light", is_ground_content = false, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults() , workbench = morebench , }) minetest.register_node ("lapis:lazurite_block", { description = "Lazurite", tiles = {"lapis_lazurite_block.png"}, paramtype = "light", is_ground_content = true, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults() }) minetest.register_node ("lapis:lazurite_brick", { description = "Lazurite Brick", tiles = { "lapis_lazurite_brick_top.png", "lapis_lazurite_brick_top.png^[transformFXR90", "lapis_lazurite_brick_side.png", "lapis_lazurite_brick_side.png^[transformFX", "lapis_lazurite_brick.png^[transformFX", "lapis_lazurite_brick.png" }, paramtype = "light", paramtype2 = "facedir", place_param2 = 0, on_rotate = screwdriver.rotate_simple, is_ground_content = false, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults() , workbench = morebench , }) minetest.register_node ("lapis:lapis_tile", { description = "Lapis Floor Tile", tiles = {"lapis_tile.png" }, is_ground_content = false, paramtype = 'light', groups = {cracky = 3}, sounds = default.node_sound_stone_defaults() }) minetest.register_node ("lapis:pyrite_ore", { description = "Pyrite Ore", tiles = {"default_stone.png^lapis_mineral_pyrite.png" }, paramtype = "light", is_ground_content = true, drop= 'lapis:pyrite_lump 2', groups = {cracky = 2}, sounds = default.node_sound_stone_defaults() , }) -- =================================================================== local param_pyrite_block = { description = "Pyrite Block", tiles = { "lapis_pyrite_sacred.png", "lapis_pyrite_sacred.png", "lapis_pyrite_block.png" }, paramtype = "light", paramtype2 = "facedir", place_param2 = 0, is_ground_content = false, groups = {cracky = 2}, sounds = default.node_sound_metal_defaults({ footstep = {name = "default_hard_footstep", gain = 0.5}, place = {name = "default_place_node_hard", gain = 1.0}, }), } -- =================================================================== local param_glow_pyrite_block = ocutil.clone_table (param_pyrite_block) param_glow_pyrite_block.description = "Glow Pyrite Block" param_glow_pyrite_block.light_source = 14 -- =================================================================== minetest.register_node ("lapis:pyrite_block" , param_pyrite_block ) minetest.register_node ("lapis:glow_pyrite_block" , param_glow_pyrite_block ) --Unused Rosace Stone from Darkage mod minetest.register_node("lapis:rosace", { description = "Rose Stone", tiles = {"lapis_rosace_front.png", "lapis_rosace_front.png", "lapis_rosace_side.png^[transformFX", "lapis_rosace_side.png^[transformFYR90", "lapis_rosace_side.png^[transformFY", "lapis_rosace_side.png"}, paramtype2 = "facedir", place_param2 = 0, is_ground_content = false, groups = {cracky = 3, stone = 2}, sounds = default.node_sound_stone_defaults(), workbench = true, }) ------------------- --Stairs & Slabs ------------------- -- Add support for Stairs Plus (in More Blocks), by Worldblender if minetest.get_modpath("moreblocks") then stairsplus:register_all("lapis", "lapis_block", "lapis:lapis_block", { description = ("Lapis with Calcite"), tiles = {"lapis_block.png"}, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), }) stairsplus:register_all("lapis", "lapis_brick", "lapis:lapis_brick", { description = ("Lapis Brick"), tiles = {"lapis_brick_top.png", "lapis_brick_top.png^[transformFXR90", "lapis_brick_side.png", "lapis_brick_side.png^[transformFX", "lapis_brick.png^[transformFX", "lapis_brick.png"}, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), }) stairsplus:register_all("lapis", "lapis_cobble", "lapis:lapis_cobble", { description = ("Cobbled Lapis"), tiles = {"lapis_cobble.png", "lapis_cobble.png^[transformFY", "lapis_cobble.png^[transformFX", "lapis_cobble.png", "lapis_cobble.png^[transformFX", "lapis_cobble.png"}, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), }) stairsplus:register_all("lapis", "lapis_lazurite_block", "lapis:lazurite_block", { description = ("Lazurite"), tiles = {"lapis_lazurite_block.png"}, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), }) stairsplus:register_all("lapis", "lapis_lazurite_brick", "lapis:lazurite_brick", { description = ("Lazurite Brick"), tiles = {"lapis_lazurite_brick_top.png", "lapis_lazurite_brick_top.png^[transformFXR90", "lapis_lazurite_brick_side.png", "lapis_lazurite_brick_side.png^[transformFX", "lapis_lazurite_brick.png^[transformFX", "lapis_lazurite_brick.png"}, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), }) stairsplus:register_all("lapis", "lapis_tile", "lapis:lapis_tile", { description = ("Lapis Floor Tile"), tiles = {"lapis_tile.png"}, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), }) stairsplus:register_all("lapis", "pyrite_block", "lapis:pyrite_block", { description = ("Pyrite Block"), tiles = {"lapis_pyrite_block.png"}, groups = {cracky = 2}, sounds = default.node_sound_metal_defaults({ footstep = {name = "default_hard_footstep", gain = 0.5}, place = {name = "default_place_node_hard", gain = 1.0}}), }) end -- Also support default stairs if minetest.get_modpath("stairs") then stairs.register_all("lapis_block", "lapis:lapis_block", {cracky = 3}, {"lapis_block.png"}, "Lapis", default.node_sound_stone_defaults()) stairs.register_all("lapis_brick", "lapis:lapis_brick", {cracky = 3}, {"lapis_brick.png"}, "Lapis Brick", default.node_sound_stone_defaults()) stairs.register_all("lapis_cobble", "lapis:lapis_cobble", {cracky = 3}, {"lapis_cobble.png"}, "Lapis Cobble", default.node_sound_stone_defaults()) stairs.register_all("lazurite", "lapis:lazurite_block", {cracky = 3}, {"lapis_lazurite_block.png"}, "Lazurite", default.node_sound_stone_defaults()) stairs.register_all("lazurite_brick", "lapis:lazurite_brick", {cracky = 3}, {"lapis_lazurite_brick.png"}, "Lazurite Brick", default.node_sound_stone_defaults()) stairs.register_all("lapis_tile", "lapis:lapis_tile", {cracky = 3}, {"lapis_tile.png"}, "Lapis Tile", default.node_sound_stone_defaults()) end --------------- -- Crafts Items --------------- minetest.register_craftitem("lapis:lapis_stone", { description = "Lapis Gemstone", inventory_image = "lapis_stone.png", }) minetest.register_craftitem("lapis:pyrite_ingot", { description = "Pyrite Ingot", inventory_image = "lapis_pyrite_ingot.png", }) minetest.register_craftitem("lapis:pyrite_lump", { description = "Fool's Gold", inventory_image = "lapis_pyrite_nugget.png", }) ---------- -- Crafts ---------- minetest.register_craft({ output = 'lapis:lazurite_block', recipe = { {'lapis:lapis_stone', 'lapis:lapis_stone', 'lapis:lapis_stone'}, {'lapis:lapis_stone', 'lapis:pyrite_lump', 'lapis:lapis_stone'}, {'lapis:lapis_stone', 'lapis:lapis_stone', 'lapis:lapis_stone'}, } }) minetest.register_craft({ output = 'lapis:lapis_stone 9', recipe = { {'lapis:lapis_block'}, } }) minetest.register_craft({ output = 'lapis:lapis_brick 4', recipe = { { 'lapis:lapis_block', 'lapis:lapis_block'}, { 'lapis:lapis_block', 'lapis:lapis_block'}, } }) minetest.register_craft({ output = 'lapis:lazurite_brick 4', recipe = { { '', 'lapis:lapis_brick', ''}, { 'lapis:lapis_brick', 'lapis:pyrite_lump', 'lapis:lapis_brick'}, { '', 'lapis:lapis_brick', ''}, } }) minetest.register_craft({ output = 'lapis:lapis_tile 2', recipe = { { 'lapis:lazurite_brick'}, } }) minetest.register_craft({ output = 'lapis:pyrite_block', recipe = { {'lapis:pyrite_ingot', 'lapis:pyrite_ingot', 'lapis:pyrite_ingot'}, {'lapis:pyrite_ingot', 'lapis:pyrite_ingot', 'lapis:pyrite_ingot'}, {'lapis:pyrite_ingot', 'lapis:pyrite_ingot', 'lapis:pyrite_ingot'}, } }) minetest.register_craft({ output = 'lapis:pyrite_ingot 6', recipe = { {'lapis:pyrite_block'}, } }) minetest.register_craft({ output = "lapis:rosace_stone 4", recipe = { { "lapis:pyrite_ingot", "lapis:lapis_stone", "lapis:pyrite_ingot" }, { "lapis:lapis_stone", "lapis:pyrite_ingot", "lapis:lapis_stone" }, { "lapis:pyrite_ingot", "lapis:lapis_stone", "lapis:pyrite_ingot" }, } }) minetest.register_craft({ output = 'dye:blue 2', recipe = { {'lapis:lapis_stone'}, } }) ------------ -- Cooking ------------ minetest.register_craft({ type = 'cooking', output = 'lapis:lapis_block', recipe = 'lapis:lapis_cobble', }) minetest.register_craft({ type = "cooking", output = "lapis:pyrite_ingot", recipe = "lapis:pyrite_lump", }) -------------------- -- Ore Generation -------------------- --lapis --Sheet ore registration minetest.register_ore({ ore_type = "sheet", ore = "lapis:lapis_block", wherein = "default:stone", column_height_min = 1, column_height_max = 3, column_midpoint_factor = 0.5, y_min = -500, y_max = 200, noise_threshold = 1.25, noise_params = {offset=0, scale=2, spread={x=20, y=20, z=10}, seed= 10 , octaves=2, persist=0.8} }) -- pyrite minetest.register_ore({ ore_type = "scatter", ore = "lapis:pyrite_ore", wherein = "default:stone", clust_scarcity = 24 * 24 * 24, clust_num_ores = 4, clust_size = 3, y_min = -50, y_max = -10, }) minetest.register_ore({ ore_type = "scatter", ore = "lapis:pyrite_ore", wherein = "default:stone", clust_scarcity = 18 * 18 * 18, clust_num_ores = 4, clust_size = 3, y_min = -150, y_max = -51, }) ---------- --Aliases ---------- minetest.register_alias("lapis:lapis_paver", "lapis:lapis_cobble") minetest.register_alias("lapis:lazurite", "lapis:lapis_block") minetest.register_alias("lapis:pyrite_sacred","lapis:pyrite_block") minetest.register_alias("lapis:pyrite_coin","lapis:pyrite_ingot") minetest.register_alias("lapis:sacred_ore", "lapis:lazurite_block")