/ 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  })