56 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.data.structures;
 | |
| 
 | |
| import com.mojang.brigadier.exceptions.CommandSyntaxException;
 | |
| import java.io.IOException;
 | |
| import java.nio.file.Files;
 | |
| import java.nio.file.Path;
 | |
| import java.nio.file.Paths;
 | |
| import java.util.stream.Stream;
 | |
| import net.minecraft.DetectedVersion;
 | |
| import net.minecraft.SharedConstants;
 | |
| import net.minecraft.data.CachedOutput;
 | |
| import net.minecraft.nbt.CompoundTag;
 | |
| import net.minecraft.nbt.NbtUtils;
 | |
| import net.minecraft.server.Bootstrap;
 | |
| 
 | |
| public class SnbtDatafixer {
 | |
| 	public static void main(String[] args) throws IOException {
 | |
| 		SharedConstants.setVersion(DetectedVersion.BUILT_IN);
 | |
| 		Bootstrap.bootStrap();
 | |
| 
 | |
| 		for (String string : args) {
 | |
| 			updateInDirectory(string);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	private static void updateInDirectory(String path) throws IOException {
 | |
| 		Stream<Path> stream = Files.walk(Paths.get(path));
 | |
| 
 | |
| 		try {
 | |
| 			stream.filter(pathx -> pathx.toString().endsWith(".snbt")).forEach(pathx -> {
 | |
| 				try {
 | |
| 					String string = Files.readString(pathx);
 | |
| 					CompoundTag compoundTag = NbtUtils.snbtToStructure(string);
 | |
| 					CompoundTag compoundTag2 = StructureUpdater.update(pathx.toString(), compoundTag);
 | |
| 					NbtToSnbt.writeSnbt(CachedOutput.NO_CACHE, pathx, NbtUtils.structureToSnbt(compoundTag2));
 | |
| 				} catch (IOException | CommandSyntaxException var4x) {
 | |
| 					throw new RuntimeException(var4x);
 | |
| 				}
 | |
| 			});
 | |
| 		} catch (Throwable var5) {
 | |
| 			if (stream != null) {
 | |
| 				try {
 | |
| 					stream.close();
 | |
| 				} catch (Throwable var4) {
 | |
| 					var5.addSuppressed(var4);
 | |
| 				}
 | |
| 			}
 | |
| 
 | |
| 			throw var5;
 | |
| 		}
 | |
| 
 | |
| 		if (stream != null) {
 | |
| 			stream.close();
 | |
| 		}
 | |
| 	}
 | |
| }
 |