Skip to content

Commit 8b07116

Browse files
committed
revert: "optimization: reduce io calls when creating level.dat in queue"
This reverts commit ccf971b since it is incompatible with some features mcsrfairplay is planned to have.
1 parent d36fb3e commit 8b07116

1 file changed

Lines changed: 3 additions & 28 deletions

File tree

src/main/java/me/contaria/seedqueue/mixin/client/MinecraftClientMixin.java

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,12 @@
2929
import net.minecraft.client.gui.screen.Screen;
3030
import net.minecraft.client.sound.MusicTracker;
3131
import net.minecraft.client.sound.SoundManager;
32-
import net.minecraft.nbt.CompoundTag;
33-
import net.minecraft.nbt.NbtIo;
3432
import net.minecraft.resource.DataPackSettings;
3533
import net.minecraft.resource.ResourceManager;
3634
import net.minecraft.resource.ServerResourceManager;
3735
import net.minecraft.server.MinecraftServer;
3836
import net.minecraft.server.integrated.IntegratedServer;
3937
import net.minecraft.util.UserCache;
40-
import net.minecraft.util.WorldSavePath;
4138
import net.minecraft.util.registry.RegistryTracker;
4239
import net.minecraft.world.SaveProperties;
4340
import net.minecraft.world.level.storage.LevelStorage;
@@ -56,8 +53,6 @@
5653

5754
import java.io.File;
5855
import java.net.Proxy;
59-
import java.nio.file.Files;
60-
import java.nio.file.Path;
6156
import java.util.Optional;
6257
import java.util.concurrent.Executor;
6358
import java.util.concurrent.atomic.AtomicReference;
@@ -366,35 +361,15 @@ private boolean cancelWorldGenTrackerSetNull(AtomicReference<?> instance, Object
366361
return !SeedQueue.inQueue();
367362
}
368363

369-
@WrapOperation(
364+
@WrapWithCondition(
370365
method = "startIntegratedServer(Ljava/lang/String;Lnet/minecraft/util/registry/RegistryTracker$Modifiable;Ljava/util/function/Function;Lcom/mojang/datafixers/util/Function4;ZLnet/minecraft/client/MinecraftClient$WorldLoadAction;)V",
371366
at = @At(
372367
value = "INVOKE",
373368
target = "Lnet/minecraft/world/level/storage/LevelStorage$Session;backupLevelDataFile(Lnet/minecraft/util/registry/RegistryTracker;Lnet/minecraft/world/SaveProperties;)V"
374369
)
375370
)
376-
private void cancelSessionLevelDatInit(LevelStorage.Session session, RegistryTracker tracker, SaveProperties properties, Operation<Void> original) {
377-
if (SeedQueue.inQueue()) {
378-
// since this world is guaranteed to be new,
379-
// we can optimize level.dat creation by saving the file
380-
// without backing up the old file (which doesn't exist)
381-
Path path = session.getDirectory(WorldSavePath.LEVEL_DAT);
382-
CompoundTag data = properties.cloneWorldTag(tracker, null);
383-
CompoundTag tag = new CompoundTag();
384-
tag.put("Data", data);
385-
386-
try {
387-
NbtIo.writeCompressed(tag, Files.newOutputStream(path));
388-
} catch (Exception e) {
389-
SeedQueue.LOGGER.error("Failed to save level {}", path, e);
390-
}
391-
return;
392-
}
393-
if (SeedQueue.currentEntry != null) {
394-
// already saved level.dat on SeedQueueThread
395-
return;
396-
}
397-
original.call(session, tracker, properties);
371+
private boolean cancelSessionLevelDatInit(LevelStorage.Session instance, RegistryTracker registryTracker, SaveProperties saveProperties) {
372+
return SeedQueue.inQueue() || SeedQueue.currentEntry == null;
398373
}
399374

400375
@WrapWithCondition(

0 commit comments

Comments
 (0)