--- a/net/minecraft/util/worldupdate/WorldUpgrader.java +++ b/net/minecraft/util/worldupdate/WorldUpgrader.java @@ -34,11 +34,15 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +// CraftBukkit start +import net.minecraft.world.level.dimension.DimensionManager; +// CraftBukkit end + public class WorldUpgrader { private static final Logger LOGGER = LogManager.getLogger(); private static final ThreadFactory THREAD_FACTORY = (new ThreadFactoryBuilder()).setDaemon(true).build(); - private final ImmutableSet> levels; + private final ImmutableSet> levels; // CraftBukkit private final boolean eraseCache; private final Convertable.ConversionSession levelStorage; private final Thread thread; @@ -49,12 +53,12 @@ private volatile int totalChunks; private volatile int converted; private volatile int skipped; - private final Object2FloatMap> progressMap = Object2FloatMaps.synchronize(new Object2FloatOpenCustomHashMap(SystemUtils.k())); + private final Object2FloatMap> progressMap = Object2FloatMaps.synchronize(new Object2FloatOpenCustomHashMap(SystemUtils.k())); // CraftBukkit private volatile IChatBaseComponent status = new ChatMessage("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, ImmutableSet> immutableset, boolean flag) { + public WorldUpgrader(Convertable.ConversionSession convertable_conversionsession, DataFixer datafixer, ImmutableSet> immutableset, boolean flag) { // CraftBukkit this.levels = immutableset; this.eraseCache = flag; this.dataFixer = datafixer; @@ -82,12 +86,12 @@ private void i() { this.totalChunks = 0; - Builder, ListIterator> builder = ImmutableMap.builder(); + Builder, ListIterator> builder = ImmutableMap.builder(); // CraftBukkit List list; for (UnmodifiableIterator unmodifiableiterator = this.levels.iterator(); unmodifiableiterator.hasNext(); this.totalChunks += list.size()) { - ResourceKey resourcekey = (ResourceKey) unmodifiableiterator.next(); + ResourceKey resourcekey = (ResourceKey) unmodifiableiterator.next(); // CraftBukkit list = this.b(resourcekey); builder.put(resourcekey, list.listIterator()); @@ -97,18 +101,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 UnmodifiableIterator unmodifiableiterator1 = this.levels.iterator(); while (unmodifiableiterator1.hasNext()) { - ResourceKey resourcekey1 = (ResourceKey) unmodifiableiterator1.next(); - File file = this.levelStorage.a(resourcekey1); + ResourceKey resourcekey1 = (ResourceKey) unmodifiableiterator1.next(); // CraftBukkit + File file = this.levelStorage.a((ResourceKey) null); // CraftBukkit builder1.put(resourcekey1, new IChunkLoader(new File(file, "region"), this.dataFixer, true)); } - ImmutableMap, IChunkLoader> immutablemap1 = builder1.build(); + ImmutableMap, IChunkLoader> immutablemap1 = builder1.build(); // CraftBukkit long i = SystemUtils.getMonotonicMillis(); this.status = new ChatMessage("optimizeWorld.stage.upgrading"); @@ -120,7 +124,7 @@ float f2; for (UnmodifiableIterator unmodifiableiterator2 = this.levels.iterator(); unmodifiableiterator2.hasNext(); f1 += f2) { - ResourceKey resourcekey2 = (ResourceKey) unmodifiableiterator2.next(); + ResourceKey resourcekey2 = (ResourceKey) unmodifiableiterator2.next(); // CraftBukkit ListIterator listiterator = (ListIterator) immutablemap.get(resourcekey2); IChunkLoader ichunkloader = (IChunkLoader) immutablemap1.get(resourcekey2); @@ -135,7 +139,7 @@ int j = IChunkLoader.a(nbttagcompound); NBTTagCompound nbttagcompound1 = ichunkloader.getChunkData(resourcekey2, () -> { return this.overworldDataStorage; - }, nbttagcompound); + }, nbttagcompound, chunkcoordintpair, null); // CraftBukkit NBTTagCompound nbttagcompound2 = nbttagcompound1.getCompound("Level"); ChunkCoordIntPair chunkcoordintpair1 = new ChunkCoordIntPair(nbttagcompound2.getInt("xPos"), nbttagcompound2.getInt("zPos")); @@ -208,8 +212,8 @@ } } - private List b(ResourceKey resourcekey) { - File file = this.levelStorage.a(resourcekey); + private List b(ResourceKey resourcekey) { // CraftBukkit + File file = this.levelStorage.a((ResourceKey) null); // CraftBukkit File file1 = new File(file, "region"); File[] afile = file1.listFiles((file2, s) -> { return s.endsWith(".mca"); @@ -269,7 +273,7 @@ } public ImmutableSet> c() { - return this.levels; + throw new AssertionError("Unsupported"); // CraftBukkit } public float a(ResourceKey resourcekey) {