--- a/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager.java
+++ b/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager.java
@@ -55,7 +_,7 @@
     private static final String STRUCTURE_GENERATED_DIRECTORY_NAME = "structures";
     private static final String STRUCTURE_FILE_EXTENSION = ".nbt";
     private static final String STRUCTURE_TEXT_FILE_EXTENSION = ".snbt";
-    private final Map<ResourceLocation, Optional<StructureTemplate>> structureRepository = Maps.newConcurrentMap();
+    public final Map<ResourceLocation, Optional<StructureTemplate>> structureRepository = Maps.newConcurrentMap();
     private final DataFixer fixerUpper;
     private ResourceManager resourceManager;
     private final Path generatedDir;
@@ -118,7 +_,7 @@
         this.structureRepository.clear();
     }
 
-    private Optional<StructureTemplate> loadFromResource(ResourceLocation id) {
+    public Optional<StructureTemplate> loadFromResource(ResourceLocation id) {
         ResourceLocation resourceLocation = RESOURCE_LISTER.idToFile(id);
         return this.load(() -> this.resourceManager.open(resourceLocation), throwable -> LOGGER.error("Couldn't load structure {}", id, throwable));
     }
@@ -141,7 +_,7 @@
         }
     }
 
-    private Optional<StructureTemplate> loadFromGenerated(ResourceLocation id) {
+    public Optional<StructureTemplate> loadFromGenerated(ResourceLocation id) {
         if (!Files.isDirectory(this.generatedDir)) {
             return Optional.empty();
         } else {
@@ -237,7 +_,7 @@
         }
     }
 
-    private StructureTemplate readStructure(InputStream stream) throws IOException {
+    public StructureTemplate readStructure(InputStream stream) throws IOException {
         CompoundTag compressed = NbtIo.readCompressed(stream, NbtAccounter.unlimitedHeap());
         return this.readStructure(compressed);
     }
@@ -245,7 +_,7 @@
     public StructureTemplate readStructure(CompoundTag nbt) {
         StructureTemplate structureTemplate = new StructureTemplate();
         int dataVersion = NbtUtils.getDataVersion(nbt, 500);
-        structureTemplate.load(this.blockLookup, DataFixTypes.STRUCTURE.updateToCurrentVersion(this.fixerUpper, nbt, dataVersion));
+        structureTemplate.load(this.blockLookup, ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.STRUCTURE, nbt, dataVersion, ca.spottedleaf.dataconverter.minecraft.util.Version.getCurrentVersion())); // Paper - rewrite data conversion system
         return structureTemplate;
     }
 
