@@ -83,21 +83,42 @@ sorcery.data.metallookup[fragment] = { id = name; data = metal; value = 1; } - 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; }; - _sorcery = { - material = { - id = name, data = metal; - powder = powder; - grindcost = 2, grindvalue = 1; - value = 0.5; + sorcery.data.metallookup[disc] = { + id = name; data = metal; + value = 8/3; + } + if not metal.no_craftables then + sorcery.data.metallookup[screw] = { + id = name; data = metal; + value = 0.5; + } + 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; }; + _sorcery = { + material = { + id = name, data = metal; + powder = powder; + grindcost = 2, grindvalue = 1; + value = 0.5; + }; }; - }; - }) + }) + local reglathe = function(ty, sz) + sorcery.lathe.register { + input = ty; + output = {name = screw, count = sz * 2}; + tech = 'cut', cost = 1; + } + end + reglathe(fragment, 1) + reglathe(ingot, 4) + reglathe(block, 4 * 9) + end + minetest.register_craftitem(disc, { description = sorcery.lib.str.capitalize(name) .. ' Disc'; inventory_image = fmt('sorcery_disc_%s.png', name); groups = { metal = 1; sorcery_disc = 1; sorcery_tech_component = 1; }; @@ -104,25 +125,15 @@ _sorcery = { material = { id = name, data = metal; powder = powder; - grindvalue = (3*4) / 2; + grindcost = 3; + grindvalue = 2*4; value = 4 * (2/3); }; }; }) - local reglathe = function(ty, sz) - sorcery.lathe.register { - input = ty; - output = {name = screw, count = sz * 2}; - tech = 'cut', cost = 1; - } - 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;