geforkt von Mirrors/Paper
90fe0d58a5
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 897a0a23 SPIGOT-5753: Back PotionType by a minecraft registry 255b2aa1 SPIGOT-7080: Add World#locateNearestBiome ff984826 Remove javadoc.io doc links CraftBukkit Changes: 71b0135cc SPIGOT-5753: Back PotionType by a minecraft registry a6bcb8489 SPIGOT-7080: Add World#locateNearestBiome ad0e57434 SPIGOT-7502: CraftMetaItem - cannot deserialize BlockStateTag b3efca57a SPIGOT-6400: Use Mockito instead of InvocationHandler 38c599f9d PR-1272: Only allow one entity in CraftItem instead of two f065271ac SPIGOT-7498: ChunkSnapshot.getBlockEmittedLight() gets 64 blocks upper in Overworld Spigot Changes: e0e223fe Remove javadoc.io doc links
70 Zeilen
3.8 KiB
Diff
70 Zeilen
3.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Professor Bloodstone <git@bloodstone.dev>
|
|
Date: Fri, 23 Jul 2021 02:32:04 +0200
|
|
Subject: [PATCH] Allow skipping writing of comments to server.properties
|
|
|
|
Makes less git noise, as it won't update the date every single time
|
|
|
|
Use -DPaper.skipServerPropertiesComments=true flag to disable writing it
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/dedicated/Settings.java b/src/main/java/net/minecraft/server/dedicated/Settings.java
|
|
index ca23639f15107ccd43b874ae38fa37279b827a8f..faca42b2b5b20559f98c300b7011b67165391a0d 100644
|
|
--- a/src/main/java/net/minecraft/server/dedicated/Settings.java
|
|
+++ b/src/main/java/net/minecraft/server/dedicated/Settings.java
|
|
@@ -29,6 +29,7 @@ public abstract class Settings<T extends Settings<T>> {
|
|
|
|
private static final Logger LOGGER = LogUtils.getLogger();
|
|
public final Properties properties;
|
|
+ private static final boolean skipComments = Boolean.getBoolean("Paper.skipServerPropertiesComments"); // Paper - allow skipping server.properties comments
|
|
// CraftBukkit start
|
|
private OptionSet options = null;
|
|
|
|
@@ -123,7 +124,46 @@ public abstract class Settings<T extends Settings<T>> {
|
|
return;
|
|
}
|
|
// CraftBukkit end
|
|
- BufferedWriter bufferedwriter = Files.newBufferedWriter(path, StandardCharsets.UTF_8);
|
|
+ // Paper start - disable writing comments to properties file
|
|
+ java.io.OutputStream outputstream = Files.newOutputStream(path);
|
|
+ java.io.BufferedOutputStream bufferedOutputStream = !skipComments ? new java.io.BufferedOutputStream(outputstream) : new java.io.BufferedOutputStream(outputstream) {
|
|
+ private boolean isRightAfterNewline = true; // If last written char was newline
|
|
+ private boolean isComment = false; // Are we writing comment currently?
|
|
+
|
|
+ @Override
|
|
+ public void write(@org.jetbrains.annotations.NotNull byte[] b) throws IOException {
|
|
+ this.write(b, 0, b.length);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void write(@org.jetbrains.annotations.NotNull byte[] bbuf, int off, int len) throws IOException {
|
|
+ int latest_offset = off; // The latest offset, updated when comment ends
|
|
+ for (int index = off; index < off + len; ++index ) {
|
|
+ byte c = bbuf[index];
|
|
+ boolean isNewline = (c == '\n' || c == '\r');
|
|
+ if (isNewline && this.isComment) {
|
|
+ // Comment has ended
|
|
+ this.isComment = false;
|
|
+ latest_offset = index+1;
|
|
+ }
|
|
+ if (c == '#' && this.isRightAfterNewline) {
|
|
+ this.isComment = true;
|
|
+ if (index != latest_offset) {
|
|
+ // We got some non-comment data earlier
|
|
+ super.write(bbuf, latest_offset, index-latest_offset);
|
|
+ }
|
|
+ }
|
|
+ this.isRightAfterNewline = isNewline; // Store for next iteration
|
|
+
|
|
+ }
|
|
+ if (latest_offset < off+len && !this.isComment) {
|
|
+ // We have some unwritten data, that isn't part of a comment
|
|
+ super.write(bbuf, latest_offset, (off + len) - latest_offset);
|
|
+ }
|
|
+ }
|
|
+ };
|
|
+ BufferedWriter bufferedwriter = new BufferedWriter(new java.io.OutputStreamWriter(bufferedOutputStream, java.nio.charset.StandardCharsets.UTF_8.newEncoder()));
|
|
+ // Paper end
|
|
|
|
try {
|
|
this.properties.store(bufferedwriter, "Minecraft server properties");
|