--- a/net/minecraft/util/worldupdate/WorldUpgrader.java +++ b/net/minecraft/util/worldupdate/WorldUpgrader.java @@ -48,7 +48,7 @@ private static final Logger LOGGER = LogUtils.getLogger(); private static final ThreadFactory THREAD_FACTORY = (new ThreadFactoryBuilder()).setDaemon(true).build(); private final IRegistry dimensions; - private final Set> levels; + private final Set> levels; // CraftBukkit private final boolean eraseCache; private final Convertable.ConversionSession levelStorage; private final Thread thread; @@ -59,14 +59,14 @@ private volatile int totalChunks; private volatile int converted; private volatile int skipped; - private final Object2FloatMap> progressMap = Object2FloatMaps.synchronize(new Object2FloatOpenCustomHashMap(SystemUtils.identityStrategy())); + private final Object2FloatMap> progressMap = Object2FloatMaps.synchronize(new Object2FloatOpenCustomHashMap(SystemUtils.identityStrategy())); // CraftBukkit private volatile IChatBaseComponent status = IChatBaseComponent.translatable("optimizeWorld.stage.counting"); private static final Pattern REGEX = Pattern.compile("^r\\.(-?[0-9]+)\\.(-?[0-9]+)\\.mca$"); private final WorldPersistentData overworldDataStorage; public WorldUpgrader(Convertable.ConversionSession convertable_conversionsession, DataFixer datafixer, IRegistry iregistry, boolean flag) { this.dimensions = iregistry; - this.levels = (Set) iregistry.registryKeySet().stream().map(Registries::levelStemToLevel).collect(Collectors.toUnmodifiableSet()); + this.levels = (Set) iregistry.registryKeySet().stream().collect(Collectors.toUnmodifiableSet()); // CraftBukkit this.eraseCache = flag; this.dataFixer = datafixer; this.levelStorage = convertable_conversionsession; @@ -93,12 +93,12 @@ private void work() { this.totalChunks = 0; - Builder, ListIterator> builder = ImmutableMap.builder(); + Builder, ListIterator> builder = ImmutableMap.builder(); // CraftBukkit List list; for (Iterator iterator = this.levels.iterator(); iterator.hasNext(); this.totalChunks += list.size()) { - ResourceKey resourcekey = (ResourceKey) iterator.next(); + ResourceKey resourcekey = (ResourceKey) iterator.next(); // CraftBukkit list = this.getAllChunkPos(resourcekey); builder.put(resourcekey, list.listIterator()); @@ -108,18 +108,18 @@ this.finished = true; } else { float f = (float) this.totalChunks; - ImmutableMap, ListIterator> immutablemap = builder.build(); - Builder, IChunkLoader> builder1 = ImmutableMap.builder(); + ImmutableMap, ListIterator> immutablemap = builder.build(); // CraftBukkit + Builder, IChunkLoader> builder1 = ImmutableMap.builder(); // CraftBukkit Iterator iterator1 = this.levels.iterator(); while (iterator1.hasNext()) { - ResourceKey resourcekey1 = (ResourceKey) iterator1.next(); - Path path = this.levelStorage.getDimensionPath(resourcekey1); + ResourceKey resourcekey1 = (ResourceKey) iterator1.next(); // CraftBukkit + Path path = this.levelStorage.getDimensionPath((ResourceKey) null); // CraftBukkit builder1.put(resourcekey1, new IChunkLoader(path.resolve("region"), this.dataFixer, true)); } - ImmutableMap, IChunkLoader> immutablemap1 = builder1.build(); + ImmutableMap, IChunkLoader> immutablemap1 = builder1.build(); // CraftBukkit long i = SystemUtils.getMillis(); this.status = IChatBaseComponent.translatable("optimizeWorld.stage.upgrading"); @@ -131,7 +131,7 @@ float f2; for (Iterator iterator2 = this.levels.iterator(); iterator2.hasNext(); f1 += f2) { - ResourceKey resourcekey2 = (ResourceKey) iterator2.next(); + ResourceKey resourcekey2 = (ResourceKey) iterator2.next(); // CraftBukkit ListIterator listiterator = (ListIterator) immutablemap.get(resourcekey2); IChunkLoader ichunkloader = (IChunkLoader) immutablemap1.get(resourcekey2); @@ -144,10 +144,10 @@ if (nbttagcompound != null) { int j = IChunkLoader.getVersion(nbttagcompound); - ChunkGenerator chunkgenerator = ((WorldDimension) this.dimensions.getOrThrow(Registries.levelToLevelStem(resourcekey2))).generator(); + ChunkGenerator chunkgenerator = ((WorldDimension) this.dimensions.getOrThrow(resourcekey2)).generator(); // CraftBukkit NBTTagCompound nbttagcompound1 = ichunkloader.upgradeChunkTag(resourcekey2, () -> { return this.overworldDataStorage; - }, nbttagcompound, chunkgenerator.getTypeNameForDataFixer()); + }, nbttagcompound, chunkgenerator.getTypeNameForDataFixer(), chunkcoordintpair, null); // CraftBukkit ChunkCoordIntPair chunkcoordintpair1 = new ChunkCoordIntPair(nbttagcompound1.getInt("xPos"), nbttagcompound1.getInt("zPos")); if (!chunkcoordintpair1.equals(chunkcoordintpair)) { @@ -227,8 +227,8 @@ } } - private List getAllChunkPos(ResourceKey resourcekey) { - File file = this.levelStorage.getDimensionPath(resourcekey).toFile(); + private List getAllChunkPos(ResourceKey resourcekey) { // CraftBukkit + File file = this.levelStorage.getDimensionPath((ResourceKey) null).toFile(); // CraftBukkit File file1 = new File(file, "region"); File[] afile = file1.listFiles((file2, s) -> { return s.endsWith(".mca"); @@ -288,7 +288,7 @@ } public Set> levels() { - return this.levels; + throw new AssertionError("Unsupported"); // CraftBukkit } public float dimensionProgress(ResourceKey resourcekey) {