diff --git a/src/main/java/techreborn/init/recipes/CraftingTableRecipes.java b/src/main/java/techreborn/init/recipes/CraftingTableRecipes.java
index e3ea74894..378c536dc 100644
--- a/src/main/java/techreborn/init/recipes/CraftingTableRecipes.java
+++ b/src/main/java/techreborn/init/recipes/CraftingTableRecipes.java
@@ -47,8 +47,6 @@ public class CraftingTableRecipes extends RecipeMethods {
 
 		// Tools and devices		
 
-
-
 		registerShaped(getStack(TRContent.NANOSABER), "DC ", "DC ", "GLG", 'L', "lapotronCrystal", 'C', "plateCarbon", 'D', "plateDiamond", 'G', "dustsmallGlowstone");
 		ItemStack rockCutter = getStack(TRContent.ROCK_CUTTER);
 		rockCutter.addEnchantment(Enchantments.SILK_TOUCH, 1);
@@ -67,19 +65,10 @@ public class CraftingTableRecipes extends RecipeMethods {
 
 //		registerShaped(getStack(TRContent.LITHIUM_ION_BATTERY), " C ", "PFP", "PFP", 'F', getCell("lithium"), 'P', "plateAluminum", 'C', EnumCableType.IGOLD.getStack());
 		registerShaped(getStack(TRContent.LITHIUM_ION_BATPACK),	"BCB", "BPB", "B B", 'B', getStack(TRContent.LITHIUM_ION_BATTERY), 'P', "plateAluminum", 'C', "circuitAdvanced");
-		registerShaped(getStack(TRContent.ENERGY_CRYSTAL), "RRR", "RDR", "RRR", 'R', "dustRedstone", 'D', "gemDiamond");
-		registerShaped(getStack(TRContent.LAPOTRON_CRYSTAL), "LCL", "LEL", "LCL", 'L', "dyeBlue", 'E', "energyCrystal", 'C', "circuitBasic");
-		registerShaped(getStack(TRContent.LAPOTRONIC_ORB), "LLL", "LPL", "LLL", 'L', "lapotronCrystal", 'P', "plateIridiumAlloy");
+
 		registerShaped(getStack(TRContent.SCRAP_BOX), "SSS", "SSS", "SSS", 'S', TRContent.Parts.SCRAP.getStack());
 		//registerShapeless(getStack(TRContent.FREQUENCY_TRANSMITTER), EnumCableType.ICOPPER.getStack(), "circuitBasic");
 
-		if (ConfigTechReborn.enableGemArmorAndTools) {
-			addToolAndArmourRecipes(getStack(TRContent.RUBY_SWORD), getStack(TRContent.RUBY_PICKAXE), getStack(TRContent.RUBY_AXE), getStack(TRContent.RUBY_HOE), getStack(TRContent.RUBY_SPADE), getStack(TRContent.RUBY_HELMET), getStack(TRContent.RUBY_CHESTPLATE), getStack(TRContent.RUBY_LEGGINGS), getStack(TRContent.RUBY_BOOTS), "gemRuby");
-			addToolAndArmourRecipes(getStack(TRContent.SAPPHIRE_SWORD), getStack(TRContent.SAPPHIRE_PICKAXE), getStack(TRContent.SAPPHIRE_AXE), getStack(TRContent.SAPPHIRE_HOE), getStack(TRContent.SAPPHIRE_SPADE), getStack(TRContent.SAPPHIRE_HELMET), getStack(TRContent.SAPPHIRE_CHESTPLATE), getStack(TRContent.SAPPHIRE_LEGGINGS), getStack(TRContent.SAPPHIRE_BOOTS), "gemSapphire");
-			addToolAndArmourRecipes(getStack(TRContent.PERIDOT_SWORD), getStack(TRContent.PERIDOT_PICKAXE), getStack(TRContent.PERIDOT_AXE), getStack(TRContent.PERIDOT_HOE), getStack(TRContent.PERIDOT_SPADE), getStack(TRContent.PERIDOT_HELMET), getStack(TRContent.PERIDOT_CHESTPLATE), getStack(TRContent.PERIDOT_LEGGINGS), getStack(TRContent.PERIDOT_BOOTS), "gemPeridot");
-			addToolAndArmourRecipes(getStack(TRContent.BRONZE_SWORD), getStack(TRContent.BRONZE_PICKAXE), getStack(TRContent.BRONZE_AXE), getStack(TRContent.BRONZE_HOE), getStack(TRContent.BRONZE_SPADE), getStack(TRContent.BRONZE_HELMET), getStack(TRContent.BRONZE_CHESTPLATE), getStack(TRContent.BRONZE_LEGGINGS), getStack(TRContent.BRONZE_BOOTS), "ingotBronze");
-		}
-		
 		//Upgrades
 //		registerShaped(ItemUpgrades.getUpgradeByName("energy_storage"), "PPP", "WBW", "PCP", 'P', "plankWood", 'W', EnumCableType.ICOPPER.getStack(), 'C', "circuitBasic", 'B', "reBattery");
 //		registerShaped(ItemUpgrades.getUpgradeByName("overclock"), "TTT", "WCW", 'T', TRIngredients.Parts.COOLANT_SIMPLE.getStack(), 'W', EnumCableType.ICOPPER.getStack(), 'C', "circuitBasic");
@@ -202,15 +191,6 @@ public class CraftingTableRecipes extends RecipeMethods {
 //		registerShaped(getMaterial("electronic_circuit", Type.PART), "WWW", "SRS", "WWW", 'R', "ingotRefinedIron", 'S', Items.REDSTONE, 'W', EnumCableType.ICOPPER.getStack());
 //		registerShaped(getMaterial("advanced_circuit", Type.PART), "RGR", "LCL", "RGR", 'R', "dustRedstone", 'G', "dustGlowstone", 'L', "gemLapis", 'C', "circuitBasic");
 
-		// Cables
-
-		registerShapeless(getMaterial("insulatedcopper", Type.CABLE), "itemRubber", getMaterial("copper", Type.CABLE));
-
-		registerShapeless(getMaterial("insulatedgold", Type.CABLE), "itemRubber", "itemRubber", getMaterial("gold", Type.CABLE));
-
-		registerShapeless(getMaterial("insulatedhv", Type.CABLE), "itemRubber", "itemRubber", getMaterial("hv", Type.CABLE));
-
-
 		//UU-Matter
 		ItemStack uuStack = TRContent.Parts.UU_MATTER.getStack();
 		registerShaped(getStack(Blocks.LOG, 8), 				" U ", "   ", "   ", 'U', uuStack);
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_axe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_axe.json
new file mode 100644
index 000000000..fa46e7577
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_axe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XX",
+    "X#",
+    " #"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:bronze_ingot"
+    }
+  },
+  "result": {
+    "item": "techreborn:bronze_axe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_boots.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_boots.json
new file mode 100644
index 000000000..74e0a3a4a
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_boots.json
@@ -0,0 +1,15 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X X",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:bronze_ingot"
+    }
+  },
+  "result": {
+    "item": "techreborn:bronze_boots"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_chestplate.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_chestplate.json
new file mode 100644
index 000000000..78c251f0c
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_chestplate.json
@@ -0,0 +1,16 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X X",
+    "XXX",
+    "XXX"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:bronze_ingot"
+    }
+  },
+  "result": {
+    "item": "techreborn:bronze_chestplate"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_helmet.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_helmet.json
new file mode 100644
index 000000000..a25c1c7be
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_helmet.json
@@ -0,0 +1,15 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:bronze_ingot"
+    }
+  },
+  "result": {
+    "item": "techreborn:bronze_helmet"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_hoe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_hoe.json
new file mode 100644
index 000000000..4f4599cd4
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_hoe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XX",
+    " #",
+    " #"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:bronze_ingot"
+    }
+  },
+  "result": {
+    "item": "techreborn:bronze_hoe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_leggings.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_leggings.json
new file mode 100644
index 000000000..66f039f77
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_leggings.json
@@ -0,0 +1,16 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    "X X",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:bronze_ingot"
+    }
+  },
+  "result": {
+    "item": "techreborn:bronze_leggings"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_pickaxe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_pickaxe.json
new file mode 100644
index 000000000..5493a788c
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_pickaxe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    " # ",
+    " # "
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:bronze_ingot"
+    }
+  },
+  "result": {
+    "item": "techreborn:bronze_pickaxe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_spade.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_spade.json
new file mode 100644
index 000000000..18bc625d8
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_spade.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X",
+    "#",
+    "#"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:bronze_ingot"
+    }
+  },
+  "result": {
+    "item": "techreborn:bronze_spade"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_sword.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_sword.json
new file mode 100644
index 000000000..a00a1f670
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/bronze_sword.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X",
+    "X",
+    "#"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:bronze_ingot"
+    }
+  },
+  "result": {
+    "item": "techreborn:bronze_sword"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/energy_crystal.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/energy_crystal.json
new file mode 100644
index 000000000..8a29f3c34
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/energy_crystal.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "RRR",
+    "RDR",
+    "RRR"
+  ],
+  "key": {
+    "R": {
+      "item": "minecraft:redstone"
+    },
+    "D": {
+      "item": "minecraft:diamond"
+    }
+  },
+  "result": {
+    "item": "techreborn:energy_crystal"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/lapotron_crystal.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/lapotron_crystal.json
new file mode 100644
index 000000000..494a51ee4
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/lapotron_crystal.json
@@ -0,0 +1,22 @@
+{
+	"type": "minecraft:crafting_shaped",
+	"pattern": [
+		"LCL",
+		"LEL",
+		"LCL"
+	],
+	"key": {
+		"L": {
+			"item": "minecraft:lapis_lazuli"
+		},
+		"C": {
+			"item": "techreborn:electronic_circuit"
+		},
+		"E": {
+			"item": "techreborn:energy_crystal"
+		}
+	},
+	"result": {
+		"item": "techreborn:lapotron_crystal"
+	}
+}
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/lapotronic_orb.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/lapotronic_orb.json
new file mode 100644
index 000000000..637b2a0ae
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/lapotronic_orb.json
@@ -0,0 +1,19 @@
+{
+	"type": "minecraft:crafting_shaped",
+	"pattern": [
+		"LLL",
+		"LPL",
+		"LLL"
+	],
+	"key": {
+		"L": {
+			"item": "techreborn:lapotron_crystal"
+		},
+		"P": {
+			"item": "techreborn:iridium_alloy_plate"
+		}
+	},
+	"result": {
+		"item": "techreborn:lapotronic_orb"
+	}
+}
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_axe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_axe.json
new file mode 100644
index 000000000..838b1d68a
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_axe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XX",
+    "X#",
+    " #"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:peridot_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:peridot_axe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_boots.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_boots.json
new file mode 100644
index 000000000..a46c5458c
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_boots.json
@@ -0,0 +1,15 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X X",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:peridot_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:peridot_boots"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_chestplate.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_chestplate.json
new file mode 100644
index 000000000..d1af82ecf
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_chestplate.json
@@ -0,0 +1,16 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X X",
+    "XXX",
+    "XXX"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:peridot_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:peridot_chestplate"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_helmet.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_helmet.json
new file mode 100644
index 000000000..4408f6912
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_helmet.json
@@ -0,0 +1,15 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:peridot_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:peridot_helmet"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_hoe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_hoe.json
new file mode 100644
index 000000000..b90181367
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_hoe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XX",
+    " #",
+    " #"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:peridot_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:peridot_hoe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_leggings.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_leggings.json
new file mode 100644
index 000000000..1494cd408
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_leggings.json
@@ -0,0 +1,16 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    "X X",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:peridot_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:peridot_leggings"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_pickaxe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_pickaxe.json
new file mode 100644
index 000000000..94186439b
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_pickaxe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    " # ",
+    " # "
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:peridot_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:peridot_pickaxe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_spade.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_spade.json
new file mode 100644
index 000000000..173a9f31c
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_spade.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X",
+    "#",
+    "#"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:peridot_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:peridot_spade"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_sword.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_sword.json
new file mode 100644
index 000000000..ed4013c95
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/peridot_sword.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X",
+    "X",
+    "#"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:peridot_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:peridot_sword"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_axe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_axe.json
new file mode 100644
index 000000000..7e4a1fec4
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_axe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XX",
+    "X#",
+    " #"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:ruby_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:ruby_axe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_boots.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_boots.json
new file mode 100644
index 000000000..f4b71fda9
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_boots.json
@@ -0,0 +1,15 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X X",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:ruby_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:ruby_boots"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_chestplate.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_chestplate.json
new file mode 100644
index 000000000..bca626dac
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_chestplate.json
@@ -0,0 +1,16 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X X",
+    "XXX",
+    "XXX"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:ruby_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:ruby_chestplate"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_helmet.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_helmet.json
new file mode 100644
index 000000000..0ce4f5a7c
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_helmet.json
@@ -0,0 +1,15 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:ruby_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:ruby_helmet"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_hoe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_hoe.json
new file mode 100644
index 000000000..f75c861c4
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_hoe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XX",
+    " #",
+    " #"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:ruby_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:ruby_hoe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_leggings.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_leggings.json
new file mode 100644
index 000000000..fcb155c32
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_leggings.json
@@ -0,0 +1,16 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    "X X",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:ruby_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:ruby_leggings"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_pickaxe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_pickaxe.json
new file mode 100644
index 000000000..1a39cf38b
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_pickaxe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    " # ",
+    " # "
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:ruby_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:ruby_pickaxe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_spade.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_spade.json
new file mode 100644
index 000000000..5d940fea4
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_spade.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X",
+    "#",
+    "#"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:ruby_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:ruby_spade"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_sword.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_sword.json
new file mode 100644
index 000000000..189c9c60e
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/ruby_sword.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X",
+    "X",
+    "#"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:ruby_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:ruby_sword"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_axe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_axe.json
new file mode 100644
index 000000000..55f364fe6
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_axe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XX",
+    "X#",
+    " #"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:sapphire_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:sapphire_axe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_boots.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_boots.json
new file mode 100644
index 000000000..e4a54156c
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_boots.json
@@ -0,0 +1,15 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X X",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:sapphire_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:sapphire_boots"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_chestplate.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_chestplate.json
new file mode 100644
index 000000000..d8aea8ab2
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_chestplate.json
@@ -0,0 +1,16 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X X",
+    "XXX",
+    "XXX"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:sapphire_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:sapphire_chestplate"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_helmet.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_helmet.json
new file mode 100644
index 000000000..01a4acc5b
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_helmet.json
@@ -0,0 +1,15 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:sapphire_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:sapphire_helmet"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_hoe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_hoe.json
new file mode 100644
index 000000000..919a59f1e
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_hoe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XX",
+    " #",
+    " #"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:sapphire_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:sapphire_hoe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_leggings.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_leggings.json
new file mode 100644
index 000000000..f4868d70c
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_leggings.json
@@ -0,0 +1,16 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    "X X",
+    "X X"
+  ],
+  "key": {
+    "X": {
+      "item": "techreborn:sapphire_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:sapphire_leggings"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_pickaxe.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_pickaxe.json
new file mode 100644
index 000000000..e53fb3a92
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_pickaxe.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "XXX",
+    " # ",
+    " # "
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:sapphire_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:sapphire_pickaxe"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_spade.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_spade.json
new file mode 100644
index 000000000..39b3a47ab
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_spade.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X",
+    "#",
+    "#"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:sapphire_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:sapphire_spade"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_sword.json b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_sword.json
new file mode 100644
index 000000000..164ada86c
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shaped/sapphire_sword.json
@@ -0,0 +1,19 @@
+{
+  "type": "minecraft:crafting_shaped",
+  "pattern": [
+    "X",
+    "X",
+    "#"
+  ],
+  "key": {
+    "#": {
+      "item": "minecraft:stick"
+    },
+    "X": {
+      "item": "techreborn:sapphire_gem"
+    }
+  },
+  "result": {
+    "item": "techreborn:sapphire_sword"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shapeless/insulated_copper_cable.json b/src/main/resources/data/techreborn/recipes/crafting_shapeless/insulated_copper_cable.json
new file mode 100644
index 000000000..82e15a5ac
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shapeless/insulated_copper_cable.json
@@ -0,0 +1,14 @@
+{
+  "type": "minecraft:crafting_shapeless",
+  "ingredients": [
+    {
+      "item": "techreborn:rubber"
+    },
+    {
+      "item": "techreborn:copper_cable"
+    }
+  ],
+  "result": {
+    "item": "techreborn:insulated_copper_cable"
+  }
+}
\ No newline at end of file
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shapeless/insulated_gold_cable.json b/src/main/resources/data/techreborn/recipes/crafting_shapeless/insulated_gold_cable.json
new file mode 100644
index 000000000..457b1a2a9
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shapeless/insulated_gold_cable.json
@@ -0,0 +1,17 @@
+{
+	"type": "minecraft:crafting_shapeless",
+	"ingredients": [
+		{
+			"item": "techreborn:rubber"
+		},
+		{
+			"item": "techreborn:rubber"
+		},
+		{
+			"item": "techreborn:gold_cable"
+		}
+	],
+	"result": {
+		"item": "techreborn:insulated_gold_cable"
+	}
+}
diff --git a/src/main/resources/data/techreborn/recipes/crafting_shapeless/insulated_hv_cable.json b/src/main/resources/data/techreborn/recipes/crafting_shapeless/insulated_hv_cable.json
new file mode 100644
index 000000000..fd49f902c
--- /dev/null
+++ b/src/main/resources/data/techreborn/recipes/crafting_shapeless/insulated_hv_cable.json
@@ -0,0 +1,17 @@
+{
+	"type": "minecraft:crafting_shapeless",
+	"ingredients": [
+		{
+			"item": "techreborn:rubber"
+		},
+		{
+			"item": "techreborn:rubber"
+		},
+		{
+			"item": "techreborn:hv_cable"
+		}
+	],
+	"result": {
+		"item": "techreborn:insulated_hv_cable"
+	}
+}