/ bjvxlx_silicon / init.lua
init.lua
1 local mod = bjvxlx.util.register_mod('silicon') 2 local S = mod.translate 3 4 local longdesc = S(table.concat({ 5 "Silicon is smelted from amethyst or quartz,", 6 "and can be used as an alternative crafting ingredient", 7 "for various electronic-themed or device-themed items,", 8 "including certain redstone components." 9 }, ' ')) 10 11 local ingot = 'bjvxlx_silicon:silicon_ingot' 12 local nugget = 'bjvxlx_silicon:silicon_nugget' 13 local block = 'bjvxlx_silicon:silicon_block' 14 local amethyst = 'mcl_amethyst:amethyst_shard' 15 local quartz = 'mcl_nether:quartz' 16 local rstorch = 'mesecons_torch:mesecon_torch_on' 17 local comparator = 'mcl_comparators:comparator_off_comp' 18 local delayer = 'mesecons_delayer:delayer_off_1' 19 local solarpanel = 'mesecons_solarpanel:solar_panel_off' 20 local beacon = 'mcl_beacons:beacon' 21 local nstar = 'mcl_mobitems:nether_star' 22 local clock = 'mcl_clock:clock' 23 local compass = 'mcl_compass:compass' 24 local jukebox = 'mcl_jukebox:jukebox' 25 local glass = 'mcl_core:glass' 26 local gold = 'mcl_core:gold_ingot' 27 local iron = 'mcl_core:iron_ingot' 28 local wood = 'group:wood' 29 30 minetest.register_craftitem(ingot, { 31 description = S("Silicon Ingot"), 32 _doc_items_longdesc = longdesc, 33 inventory_image = "bjvxlx_silicon_ingot.png", 34 stack_max = 64, 35 groups = {craftitem = 1} 36 }) 37 minetest.register_craftitem(nugget, { 38 description = S("Silicon Nugget"), 39 _doc_items_longdesc = longdesc, 40 inventory_image = "bjvxlx_silicon_nugget.png", 41 stack_max = 64, 42 groups = {craftitem = 1} 43 }) 44 minetest.register_node(block, { 45 description = S("Block of Silicon"), 46 _doc_items_longdesc = longdesc, 47 tiles = {"bjvxlx_silicon_block.png"}, 48 is_ground_content = false, 49 stack_max = 64, 50 groups = {pickaxey = 2, building_block = 1}, 51 sounds = mcl_sounds.node_sound_metal_defaults(), 52 _mcl_blast_resistance = 6, 53 _mcl_hardness = 3 54 }) 55 56 minetest.register_craft({ 57 type = 'cooking', 58 output = nugget, 59 recipe = amethyst, 60 cooktime = 10 61 }) 62 minetest.register_craft({ 63 type = 'cooking', 64 output = nugget, 65 recipe = quartz, 66 cooktime = 10 67 }) 68 69 minetest.register_craft({ 70 type = 'shapeless', 71 output = ("%s 9"):format(ingot), 72 recipe = {block} 73 }) 74 minetest.register_craft({ 75 type = 'shapeless', 76 output = ("%s 9"):format(nugget), 77 recipe = {ingot} 78 }) 79 minetest.register_craft({ 80 type = 'shaped', 81 output = ingot, 82 recipe = { 83 {nugget, nugget, nugget}, 84 {nugget, nugget, nugget}, 85 {nugget, nugget, nugget} 86 } 87 }) 88 minetest.register_craft({ 89 type = 'shaped', 90 output = block, 91 recipe = { 92 {ingot, ingot, ingot}, 93 {ingot, ingot, ingot}, 94 {ingot, ingot, ingot} 95 } 96 }) 97 98 minetest.register_craft({ 99 type = 'shaped', 100 output = ("%s 32"):format(comparator), 101 recipe = { 102 {'', rstorch, ''}, 103 {rstorch, block, rstorch} 104 } 105 }) 106 minetest.register_craft({ 107 type = 'shaped', 108 output = ("%s 32"):format(delayer), 109 recipe = { 110 {rstorch, block, rstorch} 111 } 112 }) 113 minetest.register_craft({ 114 type = 'shaped', 115 output = ("%s 32"):format(solarpanel), 116 recipe = { 117 {glass}, 118 {block} 119 } 120 }) 121 minetest.register_craft({ 122 type = 'shaped', 123 output = beacon, 124 recipe = { 125 {nstar}, 126 {block} 127 } 128 }) 129 minetest.register_craft({ 130 type = 'shapeless', 131 output = clock, 132 recipe = {ingot, gold} 133 }) 134 minetest.register_craft({ 135 type = 'shapeless', 136 output = compass, 137 recipe = {ingot, iron} 138 }) 139 minetest.register_craft({ 140 type = 'shaped', 141 output = jukebox, 142 recipe = { 143 {wood, wood, wood}, 144 {wood, ingot, wood}, 145 {wood, wood, wood} 146 } 147 })