--- a/net/minecraft/world/level/StructureManager.java
+++ b/net/minecraft/world/level/StructureManager.java
@@ -48,12 +_,7 @@
     }
 
     public List<StructureStart> startsForStructure(ChunkPos chunkPos, Predicate<Structure> structurePredicate) {
-        // Paper start - Fix swamp hut cat generation deadlock
-        return this.startsForStructure(chunkPos, structurePredicate, null);
-    }
-
-    public List<StructureStart> startsForStructure(ChunkPos chunkPos, Predicate<Structure> structurePredicate, @Nullable ServerLevelAccessor levelAccessor) {
-        Map<Structure, LongSet> allReferences = (levelAccessor == null ? this.level : levelAccessor).getChunk(chunkPos.x, chunkPos.z, ChunkStatus.STRUCTURE_REFERENCES).getAllReferences();
+        Map<Structure, LongSet> allReferences = this.level.getChunk(chunkPos.x, chunkPos.z, ChunkStatus.STRUCTURE_REFERENCES).getAllReferences(); // Folia - region threading
         // Paper end - Fix swamp hut cat generation deadlock
         Builder<StructureStart> builder = ImmutableList.builder();
 
@@ -124,20 +_,12 @@
     }
 
     public StructureStart getStructureWithPieceAt(BlockPos pos, Predicate<Holder<Structure>> predicate) {
-        // Paper start - Fix swamp hut cat generation deadlock
-        return this.getStructureWithPieceAt(pos, predicate, null);
-    }
-
-    public StructureStart getStructureWithPieceAt(BlockPos pos, TagKey<Structure> tag, @Nullable ServerLevelAccessor levelAccessor) {
-        return this.getStructureWithPieceAt(pos, structure -> structure.is(tag), levelAccessor);
-    }
-
-    public StructureStart getStructureWithPieceAt(BlockPos pos, Predicate<Holder<Structure>> predicate, @Nullable ServerLevelAccessor levelAccessor) {
+        // Folia - region threading
         // Paper end - Fix swamp hut cat generation deadlock
         Registry<Structure> registry = this.registryAccess().lookupOrThrow(Registries.STRUCTURE);
 
         for (StructureStart structureStart : this.startsForStructure(
-            new ChunkPos(pos), structure -> registry.get(registry.getId(structure)).map(predicate::test).orElse(false), levelAccessor // Paper - Fix swamp hut cat generation deadlock
+            new ChunkPos(pos), structure -> registry.get(registry.getId(structure)).map(predicate::test).orElse(false) // Paper - Fix swamp hut cat generation deadlock // Folia - region threading
         )) {
             if (this.structureHasPieceAt(pos, structureStart)) {
                 return structureStart;
@@ -182,7 +_,7 @@
     }
 
     public void addReference(StructureStart structureStart) {
-        structureStart.addReference();
+        //structureStart.addReference(); // Folia - region threading - move to caller
         this.structureCheck.incrementReference(structureStart.getChunkPos(), structureStart.getStructure());
     }
 
