@@ -47,14 +47,16 @@ local block = metal.block or 'sorcery:' .. name .. 'block' local screw = 'sorcery:screw_' .. name local fragment = 'sorcery:fragment_' .. name local powder = 'sorcery:powder_' .. name + local disc = 'sorcery:disc_' .. name metal.parts = { ingot = ingot; block = block; screw = screw; fragment = fragment; powder = powder; + disc = disc; } if not metal.no_tools then for t,c in pairs(tools) do sorcery.matreg.lookup[(metal.items and metal.items[t]) or ('sorcery:' .. t .. '_' .. name)] = { metal = true; @@ -83,13 +85,9 @@ } minetest.register_craftitem(screw, { description = sorcery.lib.str.capitalize(name) .. ' Screw'; inventory_image = sorcery.lib.image('sorcery_screw.png'):multiply(sorcery.lib.color(metal.tone)):render(); - groups = { - metal = 1; - sorcery_screw = 1; - sorcery_tech_component = 1; - }; + groups = { metal = 1; sorcery_screw = 1; sorcery_tech_component = 1; }; _sorcery = { material = { id = name, data = metal; powder = powder; @@ -97,8 +95,22 @@ value = 0.5; }; }; }) + minetest.register_craftitem(disc, { + description = sorcery.lib.str.capitalize(name) .. ' Disc'; + inventory_image = sorcery.lib.image('sorcery_disc.png'):multiply(sorcery.lib.color(metal.tone)):render(); + groups = { metal = 1; sorcery_disc = 1; sorcery_tech_component = 1; }; + _sorcery = { + material = { + id = name, data = metal; + powder = powder; + grindvalue = (3*4) / 2; + value = 4 * (2/3); + }; + }; + }) + local reglathe = function(ty, sz) sorcery.lathe.register { input = ty; output = {name = screw, count = sz * 2}; @@ -107,8 +119,21 @@ end reglathe(fragment, 1) reglathe(ingot, 4) reglathe(block, 4 * 9) + + sorcery.lathe.register { + input = ingot, mass = 2; + output = {name = disc, count = 3}; + tech = 'cut', cost = 5; + } + sorcery.lathe.register { + input = block; + output = {name = disc, count = 8*3}; + leftover = ingot; + tech = 'cut', cost = 5*7; + } + minetest.register_craftitem(powder, { description = sorcery.lib.str.capitalize(name) .. ' Powder'; inventory_image = 'sorcery_' .. name .. '_powder.png'; })