local ENABLE_STAIRSPLUS = false local reg_item = ocutil.safe_register_item local reg_node = ocutil.safe_register_node -- -- Item Registration -- -- Emerald Crystal reg_item ("emeralds:crystal", { description = "Emerald Crystal", inventory_image = "emerald_crystal_full.png", }) reg_item ("emeralds:crystal_piece", { description = "Emerald Crystal Piece", inventory_image = "emerald_crystal_piece.png", }) -- -- Node Registration -- -- Ore reg_node ("emeralds:ore", { description = "Emerald Ore", tiles = {"default_stone.png^emerald_ore.png"}, groups = {cracky=3, stone=1}, drop = 'emeralds:crystal', sounds = default.sound_stone(), }) minetest.register_ore({ ore_type = "scatter", ore = "emeralds:ore", wherein = "default:stone", clust_scarcity = 5*5*5, clust_num_ores = 5, clust_size = 5, y_min = -5000, y_max = -5, }) -- Emerald Block reg_node ("emeralds:block", { description = "Emerald Block", tiles = {"emerald_block.png"}, groups = {cracky=3, oddly_breakable_by_hand=1}, sounds = default.node_sound_glass_defaults(), }) -- Chiseled Emerald reg_node ("emeralds:chiseled", { description = "Chiseled Emerald", tiles = {"emerald_chiseled.png"}, groups = {cracky=3, oddly_breakable_by_hand=1}, sounds = default.node_sound_glass_defaults(), }) -- Emerald Pillar reg_node ("emeralds:pillar", { description = "Emerald Pillar", paramtype2 = "facedir", tiles = {"emerald_pillar_top.png", "emerald_pillar_top.png", "emerald_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_stair_and_slab("emeraldblock", "emeralds:block", {cracky=3, oddly_breakable_by_hand=1}, {"emerald_block.png"}, "Emerald stair", "Emerald slab", default.node_sound_glass_defaults()) stairs.register_slab("emeraldstair", "emeralds:pillar", {cracky=3, oddly_breakable_by_hand=1}, {"emerald_pillar_top.png", "emerald_pillar_top.png", "emerald_pillar_side.png"}, "Emerald Pillar slab", default.node_sound_glass_defaults()) -- -- Crafting -- -- Emerald Crystal Piece minetest.register_craft({ output = '"emeralds:crystal_piece" 3', recipe = { {'emeralds:crystal'} } }) -- Emerald Block minetest.register_craft({ output = '"emeralds:block" 4', recipe = { {'emeralds:crystal', 'emeralds:crystal', ''}, {'emeralds:crystal', 'emeralds:crystal', ''}, {'', '', ''} } }) -- Chiseled Emerald minetest.register_craft({ output = 'emeralds:chiseled 2', recipe = { {'stairs:slab_emeraldblock', '', ''}, {'stairs:slab_emeraldblock', '', ''}, {'', '', ''}, } }) -- Chiseled Emerald (for stairsplus) minetest.register_craft({ output = 'emeralds:chiseled 2', recipe = { {'emeralds:slab_block', '', ''}, {'emeralds:slab_block', '', ''}, {'', '', ''}, } }) -- Emerald Pillar minetest.register_craft({ output = 'emeralds:pillar 2', recipe = { {'emeralds:block', '', ''}, {'emeralds:block', '', ''}, {'', '', ''}, } }) --Emerald Pickaxe minetest.register_craft({ output = 'emeralds:pickaxe', recipe = { {'emeralds:crystal_piece', 'emeralds:crystal_piece', 'emeralds:crystal_piece'}, {'', 'default:stick', ''}, {'', 'default:stick', ''}, } }) --Emerald Axe minetest.register_craft({ output = 'emeralds:axe', recipe = { {'', 'emeralds:crystal_piece', 'emeralds:crystal_piece'}, {'', 'default:stick', 'emeralds:crystal_piece'}, {'', 'default:stick', ''}, } }) --Emerald Shovel minetest.register_craft({ output = 'emeralds:shovel', recipe = { {'', 'emeralds:crystal_piece', ''}, {'', 'default:stick', ''}, {'', 'default:stick', ''}, } }) --Emerald Hoe minetest.register_craft({ output = 'emeralds:hoe', recipe = { {'', 'emeralds:crystal_piece', 'emeralds:crystal_piece'}, {'', 'default:stick', ''}, {'', 'default:stick', ''}, } }) --Emerald Sword minetest.register_craft({ output = 'emeralds:sword', recipe = { {'', 'emeralds:crystal_piece', ''}, {'', 'emeralds:crystal_piece', ''}, {'', 'default:stick', ''}, } }) -- -- ABMS -- local dirs2 = {12, 9, 18, 7, 12} -- Replace all instances of the horizontal emerald pillar with the minetest.register_abm({ nodenames = {"emeralds:pillar_horizontal"}, interval = 1, chance = 1, 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 = "emeralds:pillar", param2 = nfdir}) end, }) -- -- Compatibility with stairsplus -- if coderblocks.has_moreblocks and ENABLE_STAIRSPLUS then register_stair_slab_panel_micro("emerald", "block", "emeralds:block", {cracky=3}, {"emerald_block.png"}, "Emerald Block", "block", 0 ) register_stair_slab_panel_micro("emerald", "chiseled", "emeralds:chiseled", {cracky=3}, {"emerald_chiseled.png"}, "Chiseled Emerald", "chiseled", 0 ) register_stair_slab_panel_micro("emerald", "pillar", "emeralds:pillar", {cracky=3}, {"emerald_pillar_top.png", "emerald_pillar_top.png", "emerald_pillar_side.png"}, "Emerald Pillar", "pillar", 0 ) table.insert(circular_saw.known_stairs, "emeralds:block") table.insert(circular_saw.known_stairs, "emeralds:chiseled") table.insert(circular_saw.known_stairs, "emeralds:pillar") end -- Tools Registration -- Emerald Pickaxe minetest.register_tool(":emeralds:pickaxe", { description = "Emerald Pickaxe", inventory_image = "emerald_pickaxe.png", tool_capabilities = { full_punch_interval = 1.0, max_drop_level=1, groupcaps={ cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=60, maxlevel=2}, }, damage_groups = {fleshy=4}, }, sound = {breaks = "default_tool_breaks"}, }) -- Emerald Axe minetest.register_tool(":emeralds:axe", { description = "Emerald Axe", inventory_image = "emerald_axe.png", tool_capabilities = { full_punch_interval = 1.0, max_drop_level=1, groupcaps={ choppy={times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=60, maxlevel=2}, }, damage_groups = {fleshy=4}, }, sound = {breaks = "default_tool_breaks"}, }) -- Emerald Shovel minetest.register_tool(":emeralds:shovel", { description = "Emerald Shovel", inventory_image = "emerald_shovel.png", tool_capabilities = { full_punch_interval = 1.1, max_drop_level=1, groupcaps={ crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=80, maxlevel=2}, }, damage_groups = {fleshy=3}, }, sound = {breaks = "default_tool_breaks"}, }) -- Emerald Hoe if type (farming) == "table" then farming.register_hoe("emeralds:hoe", { description = "Emerald Hoe", inventory_image = "emerald_hoe.png", max_uses = 440, material = "emeralds:crystal_piece" }) end -- Emerald Sword minetest.register_tool(":emeralds:sword", { description = "Emerald Sword", inventory_image = "emerald_sword.png", tool_capabilities = { full_punch_interval = 0.8, max_drop_level=1, groupcaps={ snappy={times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=80, maxlevel=2}, }, damage_groups = {fleshy=6}, }, sound = {breaks = "default_tool_breaks"}, })