@@ -27,19 +27,27 @@ else minetest.register_craftitem(shardname, { description = sorcery.lib.str.capitalize(name) .. ' shard'; inventory_image = 'sorcery_gem_' .. name .. '_shard.png'; - groups = { sorcery_shard = 1; }; - _proto = gem; + groups = { gemshard = 1; crystalshard = 1; sorcery_shard = 1; }; + _sorcery = { + material = { + gem = true; + id = name, data = gem; + raw = true, value = 1; + }; + }; }) end if not gem.foreign_amulet then minetest.register_craftitem(amuletname, { description = sorcery.lib.str.capitalize(name) .. ' amulet'; inventory_image = sorcery.lib.image('sorcery_amulet.png'):multiply(sorcery.lib.color(gem.tone)):render(); - _proto = { - id = name; - data = gem; + _sorcery = { + material = { + gem = true, id = name, data = gem; + value = (5 * shards_per_gem) + 4; + }; }; }) end minetest.register_craft { @@ -128,10 +136,15 @@ if gem.foreign then return false end minetest.register_craftitem(itemname, { description = sorcery.lib.str.capitalize(name); inventory_image = 'sorcery_gem_' .. name .. '.png'; - groups = { sorcery_gem = 1; }; - _proto = gem; + groups = { gem = 1; crystal = 1; sorcery_gem = 1; }; + _sorcery = { + material = { + id = name, data = gem; + raw = true, value = shards_per_gem; + }; + }; }) local tools = gem.tools if tools == nil then tools = { 'group:pickaxe';