diff --git a/patches/removed/1.19/0872-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/removed/1.19/0872-Fix-swamp-hut-cat-generation-deadlock.patch
deleted file mode 100644
index 07da981cf..000000000
--- a/patches/removed/1.19/0872-Fix-swamp-hut-cat-generation-deadlock.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Spottedleaf <Spottedleaf@users.noreply.github.com>
-Date: Sat, 12 Mar 2022 06:31:13 -0800
-Subject: [PATCH] Fix swamp hut cat generation deadlock
-
-The worldgen thread will attempt to get structure references
-via the world's getChunkAt method, which is fine if the gen is
-not cancelled - but if the chunk was unloaded, the call will block
-indefinitely. Instead of using the world state, we use the already
-supplied generatoraccess which will always have the chunk available.
-
-diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
-index 5f7c394f9cc178c9cb06c90b91296b979d61239b..e4eac546836b73b5e9c8fd68ca0d32c01148313e 100644
---- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
-+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
-@@ -392,7 +392,7 @@ public class Cat extends TamableAnimal {
-             Registry<ConfiguredStructureFeature<?, ?>> iregistry = worldserver1.registryAccess().registryOrThrow(Registry.CONFIGURED_STRUCTURE_FEATURE_REGISTRY);
- 
-             if (ChunkGenerator.allConfigurations(iregistry, StructureFeature.SWAMP_HUT).anyMatch((structurefeature) -> {
--                return worldserver1.structureFeatureManager().getStructureWithPieceAt(this.blockPosition(), structurefeature).isValid();
-+                return worldserver1.structureFeatureManager().getStructureWithPieceAt(this.blockPosition(), structurefeature, world).isValid(); // Paper - fix deadlock
-             })) {
-                 this.setCatType(10);
-                 this.setPersistenceRequired();
-diff --git a/src/main/java/net/minecraft/world/level/StructureFeatureManager.java b/src/main/java/net/minecraft/world/level/StructureFeatureManager.java
-index 2825975e5b33ea13f199008c7a4abc72ebf990b3..56c4f849d92b38537602fd77e481ee60a25bc84b 100644
---- a/src/main/java/net/minecraft/world/level/StructureFeatureManager.java
-+++ b/src/main/java/net/minecraft/world/level/StructureFeatureManager.java
-@@ -56,7 +56,12 @@ public class StructureFeatureManager {
-     }
- 
-     public List<StructureStart> startsForFeature(SectionPos sectionPos, ConfiguredStructureFeature<?, ?> configuredStructureFeature) {
--        LongSet longSet = this.level.getChunk(sectionPos.x(), sectionPos.z(), ChunkStatus.STRUCTURE_REFERENCES).getReferencesForFeature(configuredStructureFeature);
-+        // Paper start - add world option
-+        return this.startsForFeature(sectionPos, configuredStructureFeature, (ServerLevelAccessor)null);
-+    }
-+    public List<StructureStart> startsForFeature(SectionPos sectionPos, ConfiguredStructureFeature<?, ?> configuredStructureFeature, ServerLevelAccessor world) {
-+        LongSet longSet = (world == null ? this.level : world).getChunk(sectionPos.x(), sectionPos.z(), ChunkStatus.STRUCTURE_REFERENCES).getReferencesForFeature(configuredStructureFeature);
-+        // Paper end - add world option
-         ImmutableList.Builder<StructureStart> builder = ImmutableList.builder();
-         this.fillStartsForFeature(configuredStructureFeature, longSet, builder::add);
-         return builder.build();
-@@ -106,7 +111,12 @@ public class StructureFeatureManager {
-     }
- 
-     public StructureStart getStructureWithPieceAt(BlockPos pos, ConfiguredStructureFeature<?, ?> configuredStructureFeature) {
--        for(StructureStart structureStart : this.startsForFeature(SectionPos.of(pos), configuredStructureFeature)) {
-+        // Paper start - add world option
-+        return this.getStructureWithPieceAt(pos, configuredStructureFeature, (ServerLevelAccessor)null);
-+    }
-+    public StructureStart getStructureWithPieceAt(BlockPos pos, ConfiguredStructureFeature<?, ?> configuredStructureFeature, ServerLevelAccessor world) {
-+        // Paper end - add world option
-+        for(StructureStart structureStart : this.startsForFeature(SectionPos.of(pos), configuredStructureFeature, world)) { // Paper - add world option
-             if (this.structureHasPieceAt(pos, structureStart)) {
-                 return structureStart;
-             }
diff --git a/patches/server/0863-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0863-Fix-swamp-hut-cat-generation-deadlock.patch
new file mode 100644
index 000000000..df73aa228
--- /dev/null
+++ b/patches/server/0863-Fix-swamp-hut-cat-generation-deadlock.patch
@@ -0,0 +1,62 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Spottedleaf <Spottedleaf@users.noreply.github.com>
+Date: Sat, 12 Mar 2022 06:31:13 -0800
+Subject: [PATCH] Fix swamp hut cat generation deadlock
+
+The worldgen thread will attempt to get structure references
+via the world's getChunkAt method, which is fine if the gen is
+not cancelled - but if the chunk was unloaded, the call will block
+indefinitely. Instead of using the world state, we use the already
+supplied ServerLevelAccessor which will always have the chunk available.
+
+diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
+index 5ad968a2f1add27da0d6a858e683d5d771128092..e44352857272a2a4027c67bd25a28a9498b7bb49 100644
+--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
++++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
+@@ -361,7 +361,7 @@ public class Cat extends TamableAnimal {
+         });
+         ServerLevel worldserver = world.getLevel();
+ 
+-        if (worldserver.structureManager().getStructureWithPieceAt(this.blockPosition(), StructureTags.CATS_SPAWN_AS_BLACK).isValid()) {
++        if (worldserver.structureManager().getStructureWithPieceAt(this.blockPosition(), StructureTags.CATS_SPAWN_AS_BLACK, world).isValid()) { // Paper - fix deadlock
+             this.setCatVariant(CatVariant.ALL_BLACK);
+             this.setPersistenceRequired();
+         }
+diff --git a/src/main/java/net/minecraft/world/level/StructureManager.java b/src/main/java/net/minecraft/world/level/StructureManager.java
+index 21afcbc71fdb10994f2f3451f5b06e4bb75c60c7..bca1e39da66a889caf92c28b6348623a440e1c7f 100644
+--- a/src/main/java/net/minecraft/world/level/StructureManager.java
++++ b/src/main/java/net/minecraft/world/level/StructureManager.java
+@@ -43,7 +43,12 @@ public class StructureManager {
+     }
+ 
+     public List<StructureStart> startsForStructure(ChunkPos chunkPos, Predicate<Structure> predicate) {
+-        Map<Structure, LongSet> map = this.level.getChunk(chunkPos.x, chunkPos.z, ChunkStatus.STRUCTURE_REFERENCES).getAllReferences();
++        // Paper start
++        return this.startsForStructure(chunkPos, predicate, null);
++    }
++    public List<StructureStart> startsForStructure(ChunkPos chunkPos, Predicate<Structure> predicate, @Nullable ServerLevelAccessor levelAccessor) {
++        // Paper end
++        Map<Structure, LongSet> map = (levelAccessor == null ? this.level : levelAccessor).getChunk(chunkPos.x, chunkPos.z, ChunkStatus.STRUCTURE_REFERENCES).getAllReferences();
+         ImmutableList.Builder<StructureStart> builder = ImmutableList.builder();
+ 
+         for(Map.Entry<Structure, LongSet> entry : map.entrySet()) {
+@@ -107,13 +112,18 @@ public class StructureManager {
+     }
+ 
+     public StructureStart getStructureWithPieceAt(BlockPos pos, TagKey<Structure> structureTag) {
++        // Paper start
++        return this.getStructureWithPieceAt(pos, structureTag, null);
++    }
++    public StructureStart getStructureWithPieceAt(BlockPos pos, TagKey<Structure> structureTag, @Nullable ServerLevelAccessor levelAccessor) {
++        // Paper end
+         Registry<Structure> registry = this.registryAccess().registryOrThrow(Registry.STRUCTURE_REGISTRY);
+ 
+         for(StructureStart structureStart : this.startsForStructure(new ChunkPos(pos), (structure) -> {
+             return registry.getHolder(registry.getId(structure)).map((holder) -> {
+                 return holder.is(structureTag);
+             }).orElse(false);
+-        })) {
++        }, levelAccessor)) { // Paper
+             if (this.structureHasPieceAt(pos, structureStart)) {
+                 return structureStart;
+             }
diff --git a/patches/server/0863-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0864-Don-t-allow-vehicle-movement-from-players-while-tele.patch
similarity index 100%
rename from patches/server/0863-Don-t-allow-vehicle-movement-from-players-while-tele.patch
rename to patches/server/0864-Don-t-allow-vehicle-movement-from-players-while-tele.patch
diff --git a/patches/server/0864-Implement-getComputedBiome-API.patch b/patches/server/0865-Implement-getComputedBiome-API.patch
similarity index 100%
rename from patches/server/0864-Implement-getComputedBiome-API.patch
rename to patches/server/0865-Implement-getComputedBiome-API.patch
diff --git a/patches/server/0865-Make-some-itemstacks-nonnull.patch b/patches/server/0866-Make-some-itemstacks-nonnull.patch
similarity index 100%
rename from patches/server/0865-Make-some-itemstacks-nonnull.patch
rename to patches/server/0866-Make-some-itemstacks-nonnull.patch
diff --git a/patches/server/0866-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch b/patches/server/0867-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch
similarity index 100%
rename from patches/server/0866-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch
rename to patches/server/0867-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch
diff --git a/patches/server/0867-Implement-enchantWithLevels-API.patch b/patches/server/0868-Implement-enchantWithLevels-API.patch
similarity index 100%
rename from patches/server/0867-Implement-enchantWithLevels-API.patch
rename to patches/server/0868-Implement-enchantWithLevels-API.patch
diff --git a/patches/server/0868-Fix-saving-in-unloadWorld.patch b/patches/server/0869-Fix-saving-in-unloadWorld.patch
similarity index 100%
rename from patches/server/0868-Fix-saving-in-unloadWorld.patch
rename to patches/server/0869-Fix-saving-in-unloadWorld.patch
diff --git a/patches/server/0869-Buffer-OOB-setBlock-calls.patch b/patches/server/0870-Buffer-OOB-setBlock-calls.patch
similarity index 100%
rename from patches/server/0869-Buffer-OOB-setBlock-calls.patch
rename to patches/server/0870-Buffer-OOB-setBlock-calls.patch
diff --git a/patches/server/0870-Add-TameableDeathMessageEvent.patch b/patches/server/0871-Add-TameableDeathMessageEvent.patch
similarity index 100%
rename from patches/server/0870-Add-TameableDeathMessageEvent.patch
rename to patches/server/0871-Add-TameableDeathMessageEvent.patch
diff --git a/patches/server/0871-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch b/patches/server/0872-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch
similarity index 100%
rename from patches/server/0871-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch
rename to patches/server/0872-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch
diff --git a/patches/server/0872-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0873-fix-player-loottables-running-when-mob-loot-gamerule.patch
similarity index 100%
rename from patches/server/0872-fix-player-loottables-running-when-mob-loot-gamerule.patch
rename to patches/server/0873-fix-player-loottables-running-when-mob-loot-gamerule.patch
diff --git a/patches/server/0873-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0874-Ensure-entity-passenger-world-matches-ridden-entity.patch
similarity index 100%
rename from patches/server/0873-Ensure-entity-passenger-world-matches-ridden-entity.patch
rename to patches/server/0874-Ensure-entity-passenger-world-matches-ridden-entity.patch
diff --git a/patches/server/0874-Guard-against-invalid-entity-positions.patch b/patches/server/0875-Guard-against-invalid-entity-positions.patch
similarity index 100%
rename from patches/server/0874-Guard-against-invalid-entity-positions.patch
rename to patches/server/0875-Guard-against-invalid-entity-positions.patch
diff --git a/patches/server/0875-cache-resource-keys.patch b/patches/server/0876-cache-resource-keys.patch
similarity index 100%
rename from patches/server/0875-cache-resource-keys.patch
rename to patches/server/0876-cache-resource-keys.patch
diff --git a/patches/server/0876-Allow-to-change-the-podium-for-the-EnderDragon.patch b/patches/server/0877-Allow-to-change-the-podium-for-the-EnderDragon.patch
similarity index 100%
rename from patches/server/0876-Allow-to-change-the-podium-for-the-EnderDragon.patch
rename to patches/server/0877-Allow-to-change-the-podium-for-the-EnderDragon.patch
diff --git a/patches/server/0877-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0878-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
similarity index 100%
rename from patches/server/0877-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
rename to patches/server/0878-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
diff --git a/patches/server/0878-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch b/patches/server/0879-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
similarity index 100%
rename from patches/server/0878-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
rename to patches/server/0879-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
diff --git a/patches/server/0879-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0880-Prevent-tile-entity-copies-loading-chunks.patch
similarity index 100%
rename from patches/server/0879-Prevent-tile-entity-copies-loading-chunks.patch
rename to patches/server/0880-Prevent-tile-entity-copies-loading-chunks.patch
diff --git a/patches/server/0880-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0881-Use-username-instead-of-display-name-in-PlayerList-g.patch
similarity index 100%
rename from patches/server/0880-Use-username-instead-of-display-name-in-PlayerList-g.patch
rename to patches/server/0881-Use-username-instead-of-display-name-in-PlayerList-g.patch
diff --git a/patches/server/0881-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch b/patches/server/0882-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch
similarity index 100%
rename from patches/server/0881-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch
rename to patches/server/0882-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch
diff --git a/patches/server/0882-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0883-Pass-ServerLevel-for-gamerule-callbacks.patch
similarity index 100%
rename from patches/server/0882-Pass-ServerLevel-for-gamerule-callbacks.patch
rename to patches/server/0883-Pass-ServerLevel-for-gamerule-callbacks.patch
diff --git a/patches/server/0883-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/server/0884-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
similarity index 100%
rename from patches/server/0883-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
rename to patches/server/0884-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
diff --git a/patches/server/0884-WorldCreator-keepSpawnLoaded.patch b/patches/server/0885-WorldCreator-keepSpawnLoaded.patch
similarity index 100%
rename from patches/server/0884-WorldCreator-keepSpawnLoaded.patch
rename to patches/server/0885-WorldCreator-keepSpawnLoaded.patch
diff --git a/patches/server/0885-Fix-NPE-for-BlockDataMeta-getBlockData.patch b/patches/server/0886-Fix-NPE-for-BlockDataMeta-getBlockData.patch
similarity index 100%
rename from patches/server/0885-Fix-NPE-for-BlockDataMeta-getBlockData.patch
rename to patches/server/0886-Fix-NPE-for-BlockDataMeta-getBlockData.patch
diff --git a/patches/server/0886-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0887-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
similarity index 100%
rename from patches/server/0886-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
rename to patches/server/0887-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
diff --git a/patches/server/0887-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0888-Add-EntityDyeEvent-and-CollarColorable-interface.patch
similarity index 96%
rename from patches/server/0887-Add-EntityDyeEvent-and-CollarColorable-interface.patch
rename to patches/server/0888-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index 475a5911e..8eacb2217 100644
--- a/patches/server/0887-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/server/0888-Add-EntityDyeEvent-and-CollarColorable-interface.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityDyeEvent and CollarColorable interface
 
 
 diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
-index 5ad968a2f1add27da0d6a858e683d5d771128092..4e42bcb48c75c816e89e652c898242a9bd8c9d5a 100644
+index e44352857272a2a4027c67bd25a28a9498b7bb49..ab86bfdaebe9b8791f0cfa6e0c61f80c8f891a93 100644
 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
 +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
 @@ -399,6 +399,13 @@ public class Cat extends TamableAnimal {
diff --git a/patches/server/0888-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0889-Fire-CauldronLevelChange-on-initial-fill.patch
similarity index 100%
rename from patches/server/0888-Fire-CauldronLevelChange-on-initial-fill.patch
rename to patches/server/0889-Fire-CauldronLevelChange-on-initial-fill.patch
diff --git a/patches/server/0889-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0890-fix-powder-snow-cauldrons-not-turning-to-water.patch
similarity index 100%
rename from patches/server/0889-fix-powder-snow-cauldrons-not-turning-to-water.patch
rename to patches/server/0890-fix-powder-snow-cauldrons-not-turning-to-water.patch
diff --git a/patches/server/0890-Sign-cleanup-filtering.patch b/patches/server/0891-Sign-cleanup-filtering.patch
similarity index 100%
rename from patches/server/0890-Sign-cleanup-filtering.patch
rename to patches/server/0891-Sign-cleanup-filtering.patch
diff --git a/patches/server/0891-Add-PlayerStopUsingItemEvent.patch b/patches/server/0892-Add-PlayerStopUsingItemEvent.patch
similarity index 100%
rename from patches/server/0891-Add-PlayerStopUsingItemEvent.patch
rename to patches/server/0892-Add-PlayerStopUsingItemEvent.patch
diff --git a/patches/server/0892-FallingBlock-auto-expire-setting.patch b/patches/server/0893-FallingBlock-auto-expire-setting.patch
similarity index 100%
rename from patches/server/0892-FallingBlock-auto-expire-setting.patch
rename to patches/server/0893-FallingBlock-auto-expire-setting.patch
diff --git a/patches/server/0893-Don-t-tick-markers.patch b/patches/server/0894-Don-t-tick-markers.patch
similarity index 100%
rename from patches/server/0893-Don-t-tick-markers.patch
rename to patches/server/0894-Don-t-tick-markers.patch
diff --git a/patches/server/0894-Do-not-accept-invalid-client-settings.patch b/patches/server/0895-Do-not-accept-invalid-client-settings.patch
similarity index 100%
rename from patches/server/0894-Do-not-accept-invalid-client-settings.patch
rename to patches/server/0895-Do-not-accept-invalid-client-settings.patch
diff --git a/patches/server/0895-Add-support-for-Proxy-Protocol.patch b/patches/server/0896-Add-support-for-Proxy-Protocol.patch
similarity index 100%
rename from patches/server/0895-Add-support-for-Proxy-Protocol.patch
rename to patches/server/0896-Add-support-for-Proxy-Protocol.patch
diff --git a/patches/server/0896-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0897-Fix-OfflinePlayer-getBedSpawnLocation.patch
similarity index 100%
rename from patches/server/0896-Fix-OfflinePlayer-getBedSpawnLocation.patch
rename to patches/server/0897-Fix-OfflinePlayer-getBedSpawnLocation.patch
diff --git a/patches/server/0897-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0898-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
similarity index 100%
rename from patches/server/0897-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
rename to patches/server/0898-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
diff --git a/patches/server/0898-Sanitize-Sent-BlockEntity-NBT.patch b/patches/server/0899-Sanitize-Sent-BlockEntity-NBT.patch
similarity index 100%
rename from patches/server/0898-Sanitize-Sent-BlockEntity-NBT.patch
rename to patches/server/0899-Sanitize-Sent-BlockEntity-NBT.patch
diff --git a/patches/server/0899-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0900-Prevent-entity-loading-causing-async-lookups.patch
similarity index 100%
rename from patches/server/0899-Prevent-entity-loading-causing-async-lookups.patch
rename to patches/server/0900-Prevent-entity-loading-causing-async-lookups.patch
diff --git a/patches/server/0900-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0901-Disable-component-selector-resolving-in-books-by-def.patch
similarity index 100%
rename from patches/server/0900-Disable-component-selector-resolving-in-books-by-def.patch
rename to patches/server/0901-Disable-component-selector-resolving-in-books-by-def.patch
diff --git a/patches/server/0901-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0902-Throw-exception-on-world-create-while-being-ticked.patch
similarity index 100%
rename from patches/server/0901-Throw-exception-on-world-create-while-being-ticked.patch
rename to patches/server/0902-Throw-exception-on-world-create-while-being-ticked.patch