@@ -52,129 +52,8 @@ {'group:scissors','group:scissors'}; }; } ---[[ -minetest.register_craft { - type = "shapeless"; - recipe = { - "farming:mortar_pestle", - "farming:sugar", - "group:food_blueberries", - "group:food_raspberries", - "sorcery:extract_wheat", - "sorcery:extract_wheat", - "xdecor:bowl" - }; - output = "sorcery:oil_mystic"; - replacements = { - { "farming:mortar_pestle", "farming:mortar_pestle" }, - { "sorcery:extract_wheat", "vessels:glass_bottle" }, - { "sorcery:extract_wheat", "vessels:glass_bottle" } - }; -} - -minetest.register_craft { - type = "shapeless"; - recipe = { - "farming:mortar_pestle", - "group:food_berry", - "group:food_berry", - "group:food_berry", - "xdecor:bowl" - }; - output = "sorcery:oil_berry"; - replacements = { - { "farming:mortar_pestle", "farming:mortar_pestle" } - }; -} - -minetest.register_craft { - type = "shapeless"; - recipe = { - "farming:mortar_pestle", - "group:food_mushroom", - "group:food_mushroom", - "group:food_mushroom", - "xdecor:bowl" - }; - output = "sorcery:oil_mushroom"; - replacements = { - { "farming:mortar_pestle", "farming:mortar_pestle" } - }; -} -]] ---[[ -minetest.register_craft { - type = "shapeless"; - recipe = { - "farming:mixing_bowl", - "sorcery:grease_pine", - "sorcery:extract_cotton", - "sorcery:extract_cotton", - "sorcery:extract_cotton" - }; - output = "sorcery:oil_whisper"; - replacements = { - {'farming:mixing_bowl', 'farming:mixing_bowl'}; - {'sorcery:extract_cotton', 'vessels:glass_bottle'}; - {'sorcery:extract_cotton', 'vessels:glass_bottle'}; - {'sorcery:extract_cotton', 'vessels:glass_bottle'}; - }; -} - -minetest.register_craft { - type = "shapeless"; - recipe = { - "farming:mixing_bowl"; - "sorcery:oil_whisper"; - "sorcery:pine_grease"; - "sorcery:extract_rye"; - "sorcery:extract_rye"; - "sorcery:extract_barley"; - "farming:salt"; - }; - output = "sorcery:oil_wind 2"; - replacements = { - {'farming:mixing_bowl', 'farming:mixing_bowl'}; - {'sorcery:extract_rye', 'vessels:glass_bottle'}; - {'sorcery:extract_rye', 'vessels:glass_bottle'}; - {'sorcery:extract_barley', 'vessels:glass_bottle'}; - }; -} - -minetest.register_craft { - type = 'shapeless'; - recipe = { - "farming:mixing_bowl"; - 'sorcery:oil_fog'; - 'sorcery:oil_wind'; - 'sorcery:blood'; - 'sorcery:blood'; - 'sorcery:blood'; - }; - output = 'sorcery:grease_storm 2'; - replacements = { - {'farming:mixing_bowl', 'farming:mixing_bowl'}; - {'sorcery:blood', 'vessels:glass_bottle' } - } -} - -minetest.register_craft { - type = "shapeless"; - recipe = { - "farming:mixing_bowl"; - 'sorcery:extract_rice', - 'sorcery:oil_berry', - }; - output = 'sorcery:oil_fog'; - replacements = { - {'farming:mixing_bowl', 'farming:mixing_bowl'}; - { 'sorcery:extract_rice', 'vessels:glass_bottle' } - }; -} -]] - minetest.register_craft { recipe = { {"", "default:gold_ingot"}, {"default:bronze_ingot",""} @@ -189,8 +68,9 @@ inventory_image = 'sorcery_infuser_tube.png'; description = 'Infusion Tube'; groups = { sorcery_magitech = 1; metal = 1; + sorcery_tech_component = 1; }; }) minetest.register_craft { recipe = { @@ -208,8 +88,9 @@ inventory_image = 'sorcery_infuser_chamber.png'; description = 'Infusion Chamber'; groups = { sorcery_magitech = 1; + sorcery_tech_component = 1; }; }) minetest.register_craft { recipe = { @@ -226,8 +107,9 @@ inventory_image = 'sorcery_infuser_concentrator.png'; description = 'Infusion Concentrator'; groups = { sorcery_magitech = 1; + sorcery_tech_component = 1; }; }) minetest.register_craft { @@ -394,14 +276,69 @@ {'xpanes:pane_flat','sorcery:gravity_manipulator','basic_materials:plastic_sheet'}; {'sorcery:platinum_ingot','basic_materials:plastic_sheet','sorcery:platinum_ingot'}; }; } + +minetest.register_craft { + output = 'sorcery:powder_firestorm 4'; + type = 'shapeless'; + recipe = { + 'sorcery:powder_lithium', 'sorcery:powder_lithium'; + 'sorcery:powder_silver'; + 'basic_materials:oil_extract'; + 'sorcery:flame_oil'; + 'tnt:gunpowder'; + 'farming:mixing_bowl'; + }; + replacements = { + {'sorcery:flame_oil', 'xdecor:bowl'}; + {'farming:mixing_bowl', 'farming:mixing_bowl'}; + }; +} + +for _,e in pairs{'flame','frost','force'} do + minetest.register_craftitem('sorcery:essence_'..e, { + description = sorcery.lib.str.capitalize(e) .. ' Essence'; + inventory_image = 'sorcery_essence_'..e..'.png'; + group = { sorcery_elemental_essence = 1 }; + }) +end + +minetest.register_craftitem('sorcery:inferno_crystal', { + -- made with melding wand from ruby, lithium ingot, and gunpowder + -- under sign of the wyvern or the winged serpent + inventory_image = 'sorcery_inferno_crystal.png'; + description = 'Inferno Crystal'; +}) + +minetest.register_craftitem('sorcery:powder_firestorm', { + inventory_image = 'sorcery_powder_firestorm.png'; + description = 'Firestorm Powder'; +}) + +minetest.register_craft { + type = 'fuel', burntime = 8 * 15; + recipe = 'sorcery:powder_firestorm'; +}; + +minetest.register_craft { + type = 'fuel', burntime = 8 * 85; + recipe = 'sorcery:inferno_crystal'; + replacement = {{'sorcery:inferno_crystal', 'sorcery:shard_ruby 6'}}; +}; + +minetest.register_craftitem('sorcery:essence_flame', { + inventory_image = 'sorcery_essence_flame.png'; + description = 'Flame Essence'; +}) + minetest.register_craftitem('sorcery:gravity_manipulator', { description = 'Gravity Manipulator'; inventory_image = 'sorcery_gravity_manipulator.png'; groups = { sorcery_magitech = 1; + sorcery_tech_component = 1; }; }) minetest.register_craftitem('sorcery:tuning_disc',{ @@ -408,8 +345,9 @@ description = 'Tuning Disc'; inventory_image = 'sorcery_tuning_disc.png'; groups = { sorcery_magitech = 1; metal = 1; + sorcery_tech_component = 1; }; }); minetest.register_craftitem('sorcery:core_counterpraxic',{ @@ -416,8 +354,9 @@ description = 'Counterpraxis Core'; inventory_image = 'sorcery_core_counterpraxic.png'; groups = { sorcery_magitech = 1; metal = 1; sorcery_magitech_core = 1; + sorcery_tech_component = 1; }; }); minetest.register_craftitem('sorcery:core_mandatic',{ @@ -424,8 +363,9 @@ description = 'Mandatic Core'; inventory_image = 'sorcery_core_mandatic.png'; groups = { sorcery_magitech = 1; metal = 1; sorcery_magitech_core = 1; + sorcery_tech_component = 1; }; }); minetest.register_craftitem('sorcery:core_syncretic',{ @@ -432,8 +372,9 @@ description = 'Syncresis Core'; inventory_image = 'sorcery_core_syncretic.png'; groups = { sorcery_magitech = 1; metal = 1; sorcery_magitech_core = 1; + sorcery_tech_component = 1; }; }); minetest.register_craftitem('sorcery:suppression_matrix',{ @@ -440,8 +381,9 @@ description = 'Suppression Matrix'; inventory_image = 'sorcery_suppression_matrix.png'; groups = { sorcery_magitech = 1; metal = 1; sorcery_magitech_core = 1; + sorcery_tech_component = 1; }; }); minetest.register_craftitem('sorcery:inverter_coil',{ @@ -448,8 +390,9 @@ description = 'Inverter Coil'; inventory_image = 'sorcery_inverter_coil.png'; groups = { sorcery_magitech = 1; metal = 1; sorcery_magitech_core = 1; + sorcery_tech_component = 1; }; }); minetest.register_craftitem('sorcery:beam_generator',{ @@ -456,8 +399,9 @@ description = 'Beam Generator'; inventory_image = 'sorcery_beam_generator.png'; groups = { sorcery_magitech = 1; metal = 1; sorcery_magitech_core = 1; + sorcery_tech_component = 1; }; }); minetest.register_craftitem('sorcery:leyline_stabilizer',{ @@ -464,8 +408,9 @@ description = 'Leyline Stabilizer'; inventory_image = 'sorcery_leyline_stabilizer.png'; groups = { sorcery_magitech = 1; metal = 1; sorcery_magitech_core = 1; + sorcery_tech_component = 1; }; }); minetest.register_craftitem('sorcery:field_emitter',{ @@ -472,10 +417,26 @@ description = 'Field Emitter'; inventory_image = 'sorcery_field_emitter.png'; groups = { sorcery_magitech = 1; metal = 1; sorcery_magitech_core = 1; + sorcery_tech_component = 1; }; }) + +--- possible other components +-- felicitator +-- flux rectifier +-- flux suppressor +-- flux amplifier +-- tacit web +-- radiatic filament +-- radia transducer +-- transductive coil +-- affine macerator +-- state extender +-- state disruptor +-- axial dispulsor +-- aether coruscator minetest.register_craft { output = 'sorcery:leyline_stabilizer'; recipe = { @@ -693,8 +654,41 @@ {'basic_materials:copper_wire', 'basic_materials:empty_spool'}; }; output = 'morelights:bulb 4'; } + +local auxdyes = { + [{'vidrium','iridium','vidrium'}]= 'violet'; + [{'iridium','vidrium','iridium'}]= 'mulberry'; + [{'cobalt','iridium','cobalt'} ]= 'magenta'; + [{'iridium','cobalt','iridium'} ]= 'fuchsia'; + [{'iridium','gold','iridium'} ]= 'rose'; + [{'iridium','copper','iridium'} ]= 'crimson'; + [{'aluminum','tin','aluminum'} ]= 'pink'; + [{'copper','gold','copper'} ]= 'orange'; + [{'bronze','gold','bronze'} ]= 'amber'; + [{'bronze','copper','bronze'} ]= 'brown'; + [{'vidrium','gold','vidrium'} ]= 'lime'; + [{'vidrium','cobalt','vidrium'} ]= 'cerulean'; + [{'vidrium','cobalt','levitanium'}] = 'azure'; +} + +for metals,color in pairs(auxdyes) do + local dye = 'dye:' .. color + if minetest.registered_items[dye] then + local pd = {} for i=1,3 do + pd[i] = sorcery.data.metals[metals[i]].parts.powder + end + minetest.register_craft { + output = dye .. ' 4'; + recipe = { + {'', pd[2], ''}; + {pd[1],'basic_materials:paraffin', pd[3]}; + {'', 'bucket:bucket_water', ''}; + }; + } + end +end local potion_auto_recipe = function(id, substance, tools, container) local recipe = tools local replace = {}