--- a/net/minecraft/world/inventory/ResultContainer.java
+++ b/net/minecraft/world/inventory/ResultContainer.java
@@ -12,6 +_,55 @@
     private final NonNullList<ItemStack> itemStacks = NonNullList.withSize(1, ItemStack.EMPTY);
     @Nullable
     private RecipeHolder<?> recipeUsed;
+    // CraftBukkit start
+    private int maxStack = MAX_STACK;
+
+    @Override
+    public java.util.List<ItemStack> getContents() {
+        return this.itemStacks;
+    }
+
+    @Override
+    public @Nullable org.bukkit.inventory.InventoryHolder getOwner() {
+        // Paper start - Add missing InventoryHolders
+        if (this.holder == null && this.holderCreator != null) {
+            this.holder = this.holderCreator.get();
+        }
+        return this.holder; // Result slots don't get an owner
+        // Paper end - Add missing InventoryHolders
+    }
+
+    // Don't need a transaction; the InventoryCrafting keeps track of it for us
+    public void onOpen(org.bukkit.craftbukkit.entity.CraftHumanEntity player) {}
+    public void onClose(org.bukkit.craftbukkit.entity.CraftHumanEntity player) {}
+    public java.util.List<org.bukkit.entity.HumanEntity> getViewers() {
+        return new java.util.ArrayList<>();
+    }
+
+    @Override
+    public int getMaxStackSize() {
+        return this.maxStack;
+    }
+
+    public void setMaxStackSize(int size) {
+        this.maxStack = size;
+    }
+
+    @Override
+    public @Nullable org.bukkit.Location getLocation() {
+        return null;
+    }
+    // CraftBukkit end
+    // Paper start - Add missing InventoryHolders
+    private @Nullable java.util.function.Supplier<? extends org.bukkit.inventory.InventoryHolder> holderCreator;
+    private @Nullable org.bukkit.inventory.InventoryHolder holder;
+    public ResultContainer(java.util.function.Supplier<? extends org.bukkit.inventory.InventoryHolder> holderCreator) {
+        this.holderCreator = holderCreator;
+    }
+
+    public ResultContainer() {
+    }
+    // Paper end - Add missing InventoryHolders
 
     @Override
     public int getContainerSize() {
