From a491fdc83b340468dead62b0af8fccf0706bcc0e Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Sat, 23 Jan 2021 15:39:53 +0800 Subject: [PATCH] Do not save multiple times --- .../common/mixin/core/world/server/ServerWorldMixin.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/server/ServerWorldMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/server/ServerWorldMixin.java index b4a23d9c..1a45ade9 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/server/ServerWorldMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/server/ServerWorldMixin.java @@ -103,6 +103,7 @@ public abstract class ServerWorldMixin extends WorldMixin implements ServerWorld @Shadow @Final private ServerChunkProvider field_241102_C_; @Shadow protected abstract boolean hasDuplicateEntity(Entity entityIn); @Shadow @Final public static BlockPos field_241108_a_; + @Shadow @Final public IServerWorldInfo field_241103_E_; // @formatter:on @SuppressWarnings({"FieldCanBeLocal", "unused"}) @@ -222,6 +223,9 @@ public abstract class ServerWorldMixin extends WorldMixin implements ServerWorld @Inject(method = "save", at = @At("RETURN")) private void arclight$saveLevelDat(IProgressUpdate progress, boolean flush, boolean skipSave, CallbackInfo ci) { + if (this.field_241103_E_ instanceof DerivedWorldInfo) { + return; + } this.$$worldDataServer.setWorldBorderSerializer(this.getWorldBorder().getSerializer()); this.$$worldDataServer.setCustomBossEventData(this.shadow$getServer().getCustomBossEvents().write()); this.convertable.saveLevel(this.shadow$getServer().field_240767_f_, this.$$worldDataServer, this.shadow$getServer().getPlayerList().getHostPlayerData());