From 0f7810e53895f5742ab577559584539e6533a0dc Mon Sep 17 00:00:00 2001
From: auouymous <5005204+auouymous@users.noreply.github.com>
Date: Sat, 06 Feb 2021 12:41:09 +0100
Subject: [PATCH] Public/private mode for self-contained injector (#567)

---
 technic/crafts.lua |  190 +++++++++++++++++++++++-----------------------
 1 files changed, 95 insertions(+), 95 deletions(-)

diff --git a/technic/crafts.lua b/technic/crafts.lua
index 9545af8..d43ab34 100644
--- a/technic/crafts.lua
+++ b/technic/crafts.lua
@@ -1,56 +1,63 @@
--- tubes crafting recipes
+-- check if we have the necessary dependencies to allow actually using these materials in the crafts
+local mesecons_materials = minetest.get_modpath("mesecons_materials")
 
+-- Remove some recipes
+-- Bronze
+minetest.clear_craft({
+	type = "shapeless",
+	output = "default:bronze_ingot"
+})
+-- Restore recipe for bronze block to ingots
 minetest.register_craft({
-	output = 'pipeworks:tube_000000 9',
+	output = "default:bronze_ingot 9",
 	recipe = {
-		{'technic:stainless_steel_ingot', 'default:glass', 'technic:stainless_steel_ingot'},
-		{'technic:stainless_steel_ingot', 'default:glass', 'technic:stainless_steel_ingot'},
-		{'technic:stainless_steel_ingot', 'default:glass', 'technic:stainless_steel_ingot'},
+		{"default:bronzeblock"}
 	}
 })
-minetest.register_craft({
-	output = 'pipeworks:mese_tube_000000',
-	recipe = {
-		{'default:mese_crystal_fragment', 'pipeworks:tube_000000', 'default:mese_crystal_fragment'},
-		}
+
+-- Accelerator tube
+if pipeworks.enable_accelerator_tube then
+	minetest.clear_craft({
+		output = "pipeworks:accelerator_tube_1",
+	})
+
+	minetest.register_craft({
+		output = 'pipeworks:accelerator_tube_1',
+		recipe = {
+			{'technic:copper_coil', 'pipeworks:tube_1', 'technic:copper_coil'},
+			}
+	})
+end
+
+-- Teleport tube
+if pipeworks.enable_teleport_tube then
+	minetest.clear_craft({
+		output = "pipeworks:teleport_tube_1",
+	})
+
+	minetest.register_craft({
+		output = 'pipeworks:teleport_tube_1',
+		recipe = {
+			{'default:mese_crystal', 'technic:copper_coil', 'default:mese_crystal'},
+			{'pipeworks:tube_1', 'technic:control_logic_unit', 'pipeworks:tube_1'},
+			{'default:mese_crystal', 'technic:copper_coil', 'default:mese_crystal'},
+			}
+	})
+end
+
+-- basic materials' brass ingot
+
+minetest.clear_craft({
+	output = "basic_materials:brass_ingot",
 })
 
-minetest.register_craft({
-    output = 'pipeworks:accelerator_tube_000000',
-    recipe = {
-        {'technic:copper_coil', 'pipeworks:tube_000000', 'technic:copper_coil'},
-        }
+minetest.register_craft( {
+	type = "shapeless",
+	output = "basic_materials:brass_ingot 9",
+	recipe = { "basic_materials:brass_block" },
 })
 
-minetest.register_craft({
-    output = 'pipeworks:detector_tube_off_000000',
-    recipe = {
-        {'mesecons:mesecon', 'pipeworks:tube_000000', 'mesecons:mesecon'},
-        }
-})
-
-minetest.register_craft({
-    output = 'pipeworks:sand_tube_000000',
-    recipe = {
-        {'default:sand', 'pipeworks:tube_000000', 'default:sand'},
-        }
-})
-
-minetest.register_craft({
-    output = 'pipeworks:mese_sand_tube_000000',
-    recipe = {
-        {'default:mese_crystal_fragment', 'pipeworks:sand_tube_000000', 'default:mese_crystal_fragment'},
-        }
-})
-
-minetest.register_craft({
-    output = 'pipeworks:teleport_tube_000000',
-    recipe = {
-        {'default:mese_crystal', 'technic:copper_coil', 'default:mese_crystal'},
-        {'pipeworks:tube_000000', 'technic:control_logic_unit', 'pipeworks:tube_000000'},
-        {'default:mese_crystal', 'technic:copper_coil', 'default:mese_crystal'},
-        }
-})
+-- tubes crafting recipes
 
 minetest.register_craft({
 	output = 'technic:diamond_drill_head',
@@ -73,70 +80,60 @@
 minetest.register_craft({
 	output = 'technic:blue_energy_crystal',
 	recipe = {
-		{'default:gold_ingot', 'technic:battery', 'dye:blue'},
+		{'moreores:mithril_ingot', 'technic:battery', 'dye:blue'},
 		{'technic:battery', 'technic:green_energy_crystal', 'technic:battery'},
-		{'dye:blue', 'technic:battery', 'default:gold_ingot'},
+		{'dye:blue', 'technic:battery', 'moreores:mithril_ingot'},
 	}
 })
 
 minetest.register_craft({
 	output = 'technic:red_energy_crystal',
 	recipe = {
-		{'default:gold_ingot', 'technic:battery', 'dye:red'},
-		{'technic:battery', 'default:diamondblock', 'technic:battery'},
-		{'dye:red', 'technic:battery', 'default:gold_ingot'},
-	}
-})
-
-minetest.register_craft({
-	output = 'technic:fine_copper_wire 2',
-	recipe = {
-		{'', 'default:copper_ingot', ''},
-		{'', 'default:copper_ingot', ''},
-		{'', 'default:copper_ingot', ''},
+		{'moreores:silver_ingot', 'technic:battery', 'dye:red'},
+		{'technic:battery', 'basic_materials:energy_crystal_simple', 'technic:battery'},
+		{'dye:red', 'technic:battery', 'moreores:silver_ingot'},
 	}
 })
 
 minetest.register_craft({
 	output = 'technic:copper_coil 1',
 	recipe = {
-		{'technic:fine_copper_wire', 'default:steel_ingot', 'technic:fine_copper_wire'},
-		{'default:steel_ingot', '', 'default:steel_ingot'},
-		{'technic:fine_copper_wire', 'default:steel_ingot', 'technic:fine_copper_wire'},
-	}
+		{'basic_materials:copper_wire', 'technic:wrought_iron_ingot', 'basic_materials:copper_wire'},
+		{'technic:wrought_iron_ingot', '', 'technic:wrought_iron_ingot'},
+		{'basic_materials:copper_wire', 'technic:wrought_iron_ingot', 'basic_materials:copper_wire'},
+	},
+	replacements = {
+		{"basic_materials:copper_wire", "basic_materials:empty_spool"},
+		{"basic_materials:copper_wire", "basic_materials:empty_spool"},
+		{"basic_materials:copper_wire", "basic_materials:empty_spool"},
+		{"basic_materials:copper_wire", "basic_materials:empty_spool"}
+	},
 })
 
-minetest.register_craft({
-	output = 'technic:motor',
-	recipe = {
-		{'default:steel_ingot', 'technic:copper_coil', 'default:steel_ingot'},
-		{'default:steel_ingot', 'technic:copper_coil', 'default:steel_ingot'},
-		{'default:steel_ingot', 'default:copper_ingot', 'default:steel_ingot'},
-	}
-})
+local isolation = mesecons_materials and "mesecons_materials:fiber" or "technic:rubber"
 
 minetest.register_craft({
 	output = 'technic:lv_transformer',
 	recipe = {
-		{'default:iron_lump',   'default:iron_lump', 'default:iron_lump'},
-		{'technic:copper_coil', 'default:iron_lump', 'technic:copper_coil'},
-		{'default:iron_lump',   'default:iron_lump', 'default:iron_lump'},
+		{isolation,                    'technic:wrought_iron_ingot', isolation},
+		{'technic:copper_coil',        'technic:wrought_iron_ingot', 'technic:copper_coil'},
+		{'technic:wrought_iron_ingot', 'technic:wrought_iron_ingot', 'technic:wrought_iron_ingot'},
 	}
 })
 
 minetest.register_craft({
 	output = 'technic:mv_transformer',
 	recipe = {
-		{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
-		{'technic:copper_coil', 'default:steel_ingot', 'technic:copper_coil'},
-		{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
+		{isolation,                    'technic:carbon_steel_ingot', isolation},
+		{'technic:copper_coil',        'technic:carbon_steel_ingot', 'technic:copper_coil'},
+		{'technic:carbon_steel_ingot', 'technic:carbon_steel_ingot', 'technic:carbon_steel_ingot'},
 	}
 })
 
 minetest.register_craft({
 	output = 'technic:hv_transformer',
 	recipe = {
-		{'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot'},
+		{isolation,                       'technic:stainless_steel_ingot', isolation},
 		{'technic:copper_coil',           'technic:stainless_steel_ingot', 'technic:copper_coil'},
 		{'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot'},
 	}
@@ -145,10 +142,11 @@
 minetest.register_craft({
 	output = 'technic:control_logic_unit',
 	recipe = {
-		{'', 'default:gold_ingot', ''},
+		{'', 'basic_materials:gold_wire', ''},
 		{'default:copper_ingot', 'technic:silicon_wafer', 'default:copper_ingot'},
-		{'', 'default:copper_ingot', ''},
-	}
+		{'', 'technic:chromium_ingot', ''},
+	},
+	replacements = { {"basic_materials:gold_wire", "basic_materials:empty_spool"}, },
 })
 
 minetest.register_craft({
@@ -156,7 +154,7 @@
 	recipe = {
 		{'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot'},
 		{'default:bronze_ingot',          'default:bronze_ingot',          'default:bronze_ingot'},
-		{'moreores:tin_ingot',            'moreores:tin_ingot',            'moreores:tin_ingot'},
+		{'default:tin_ingot',             'default:tin_ingot',             'default:tin_ingot'},
 	}
 })
 
@@ -167,22 +165,24 @@
 	}
 })
 
-minetest.register_craftitem("technic:nothing", {
-	description = "",
-	inventory_image = "blank.png",
+minetest.register_craft({
+	output = "technic:machine_casing",
+	recipe = {
+		{ "technic:cast_iron_ingot", "technic:cast_iron_ingot", "technic:cast_iron_ingot" },
+		{ "technic:cast_iron_ingot", "basic_materials:brass_ingot", "technic:cast_iron_ingot" },
+		{ "technic:cast_iron_ingot", "technic:cast_iron_ingot", "technic:cast_iron_ingot" },
+	},
 })
+
 
 minetest.register_craft({
+	output = "default:dirt 2",
 	type = "shapeless",
-	output = "technic:nothing",
-	recipe = {"default:copper_ingot", "default:steel_ingot"}
+	replacements = {{"bucket:bucket_water","bucket:bucket_empty"}},
+	recipe = {
+		"technic:stone_dust",
+		"group:leaves",
+		"bucket:bucket_water",
+		"group:sand",
+	},
 })
-
-if minetest.register_craft_predict then
-	minetest.register_craft_predict(function(itemstack, player, old_craft_grid, craft_inv)
-		if itemstack:get_name() == "technic:nothing" then
-			return ItemStack("")
-		end
-	end)
-end
-

--
Gitblit v1.8.0