From f06455058366e7891bbae982825cdb0b7100d7b4 Mon Sep 17 00:00:00 2001
From: Remynfv <15258372+Remynfv@users.noreply.github.com>
Date: Sat, 1 Oct 2022 01:08:07 -0700
Subject: [PATCH] Fix other jigsaw related disconnect bug (#8414)

---
 .../server/fix-Jigsaw-block-kicking-user.patch | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/patches/server/fix-Jigsaw-block-kicking-user.patch b/patches/server/fix-Jigsaw-block-kicking-user.patch
index 0bf4e2938f..f461fbd945 100644
--- a/patches/server/fix-Jigsaw-block-kicking-user.patch
+++ b/patches/server/fix-Jigsaw-block-kicking-user.patch
@@ -4,6 +4,24 @@ Date: Wed, 28 Sep 2022 22:45:49 -0700
 Subject: [PATCH] fix Jigsaw block kicking user
 
 
+diff --git a/src/main/java/net/minecraft/world/level/block/entity/JigsawBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/JigsawBlockEntity.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/world/level/block/entity/JigsawBlockEntity.java
++++ b/src/main/java/net/minecraft/world/level/block/entity/JigsawBlockEntity.java
+@@ -0,0 +0,0 @@ public class JigsawBlockEntity extends BlockEntity {
+     public void generate(ServerLevel world, int maxDepth, boolean keepJigsaws) {
+         BlockPos blockPos = this.getBlockPos().relative(this.getBlockState().getValue(JigsawBlock.ORIENTATION).front());
+         Registry<StructureTemplatePool> registry = world.registryAccess().registryOrThrow(Registry.TEMPLATE_POOL_REGISTRY);
+-        Holder<StructureTemplatePool> holder = registry.getHolderOrThrow(this.pool);
++        // Paper start - Replace getHolderOrThrow with a null check
++        Holder<StructureTemplatePool> holder = registry.getHolder(this.pool).orElse(null);
++        if (holder == null) {
++            return;
++        }
++        // Paper end
+         JigsawPlacement.generateJigsaw(world, holder, this.target, maxDepth, blockPos, keepJigsaws);
+     }
+ 
 diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool.java b/src/main/java/net/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool.java