--- a/net/minecraft/world/item/crafting/CustomRecipe.java
+++ b/net/minecraft/world/item/crafting/CustomRecipe.java
@@ -1,9 +1,17 @@
 package net.minecraft.world.item.crafting;
 
 import net.minecraft.core.HolderLookup;
+import net.minecraft.core.RegistryAccess;
 import net.minecraft.world.item.ItemStack;
+import org.bukkit.NamespacedKey;
+import org.bukkit.craftbukkit.inventory.CraftComplexRecipe;
+import org.bukkit.craftbukkit.inventory.CraftItemStack;
+import org.bukkit.craftbukkit.inventory.CraftRecipe;
+import org.bukkit.inventory.Recipe;
+// CraftBukkit end
 
 public abstract class CustomRecipe implements CraftingRecipe {
+
     private final CraftingBookCategory category;
 
     public CustomRecipe(CraftingBookCategory category) {
@@ -24,4 +32,17 @@
     public CraftingBookCategory category() {
         return this.category;
     }
+
+    // CraftBukkit start
+    @Override
+    public Recipe toBukkitRecipe(NamespacedKey id) {
+        CraftItemStack result = CraftItemStack.asCraftMirror(this.getResultItem(RegistryAccess.EMPTY));
+
+        CraftComplexRecipe recipe = new CraftComplexRecipe(id, result, this);
+        recipe.setGroup(this.getGroup());
+        recipe.setCategory(CraftRecipe.getCategory(this.category()));
+
+        return recipe;
+    }
+    // CraftBukkit end
 }
