-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Configurable Region Compression Format (#8505)
- Loading branch information
1 parent
383f0ed
commit d8b8f61
Showing
4 changed files
with
60 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
46 changes: 46 additions & 0 deletions
46
patches/server/0991-Configurable-Region-Compression-Format.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Astralchroma <astralchroma@proton.me> | ||
Date: Thu, 27 Oct 2022 22:19:31 +0100 | ||
Subject: [PATCH] Configurable Region Compression Format | ||
|
||
|
||
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java | ||
index dcfe090c269d4cbcc2eb1b6f85392848bb34656c..0c5ac12b1f395bba8b7fc50baf8e825ba6488f6c 100644 | ||
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java | ||
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java | ||
@@ -425,11 +425,11 @@ public class RegionFile implements AutoCloseable { | ||
// Paper end | ||
|
||
public RegionFile(Path file, Path directory, boolean dsync) throws IOException { | ||
- this(file, directory, RegionFileVersion.VERSION_DEFLATE, dsync); | ||
+ this(file, directory, RegionFileVersion.getCompressionFormat(), dsync); // Paper - Configurable region compression format | ||
} | ||
// Paper start - add can recalc flag | ||
public RegionFile(Path file, Path directory, boolean dsync, boolean canRecalcHeader) throws IOException { | ||
- this(file, directory, RegionFileVersion.VERSION_DEFLATE, dsync, canRecalcHeader); | ||
+ this(file, directory, RegionFileVersion.getCompressionFormat(), dsync, canRecalcHeader); // Paper - Configurable region compression format | ||
} | ||
// Paper end - add can recalc flag | ||
|
||
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileVersion.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileVersion.java | ||
index 4411e427d3b6b592f8a18e61b6c59309cf699d3f..ee27a553b426d3e1e1317bbeb39a3c2d46520e59 100644 | ||
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileVersion.java | ||
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileVersion.java | ||
@@ -30,6 +30,17 @@ public class RegionFileVersion { | ||
}, (stream) -> { | ||
return stream; | ||
})); | ||
+ | ||
+ // Paper Start - Configurable region compression format | ||
+ public static RegionFileVersion getCompressionFormat() { | ||
+ return switch (io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.compressionFormat) { | ||
+ case GZIP -> VERSION_GZIP; | ||
+ case ZLIB -> VERSION_DEFLATE; | ||
+ case NONE -> VERSION_NONE; | ||
+ }; | ||
+ } | ||
+ // Paper End | ||
+ | ||
private final int id; | ||
private final RegionFileVersion.StreamWrapper<InputStream> inputWrapper; | ||
private final RegionFileVersion.StreamWrapper<OutputStream> outputWrapper; |