From 619f84ba17fb30f454235b5b8a6aea7e82229a3a Mon Sep 17 00:00:00 2001 From: Arthur Blanchot Date: Sat, 6 Aug 2022 14:35:53 +0200 Subject: [PATCH] Update Upstream (Pufferfish) --- README.md | 2 +- build-data/dev-imports.txt | 1 + gradle.properties | 6 +- patches/server/0002-Mirai-Configuration.patch | 6 +- .../0004-Reduce-constants-allocations.patch | 20 +++---- .../0019-Better-handling-of-async-tasks.patch | 16 +++--- ...hat-commands-before-player-has-joine.patch | 4 +- ...ptimise-player-list-ticksSpread-out-.patch | 6 +- .../0037-Alternative-Keepalive-Handling.patch | 6 +- ...-settings-suppressing-pointless-logs.patch | 55 ++++++++++--------- ...-Math.round-and-Math.hypot-functions.patch | 6 +- ...Configurable-chat-message-signatures.patch | 35 ++++++++---- 12 files changed, 91 insertions(+), 72 deletions(-) diff --git a/README.md b/README.md index a2579ad..71545f5 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ ## Downloads The latest successful build can be downloaded here: -[mirai-paperclip-1.19.1-R0.1-SNAPSHOT-reobf.jar](https://ci.codemc.io/job/etil2jz/job/Mirai-1.19/lastSuccessfulBuild/) +[mirai-paperclip-1.19.2-R0.1-SNAPSHOT-reobf.jar](https://ci.codemc.io/job/etil2jz/job/Mirai-1.19/lastSuccessfulBuild/) **Please note Java >= 17 is required.** diff --git a/build-data/dev-imports.txt b/build-data/dev-imports.txt index b818b96..f036ba7 100644 --- a/build-data/dev-imports.txt +++ b/build-data/dev-imports.txt @@ -8,3 +8,4 @@ # To import classes from the vanilla Minecraft jar use `minecraft` as the artifactId: # minecraft net.minecraft.world.level.entity.LevelEntityGetterAdapter # minecraft net/minecraft/world/level/entity/LevelEntityGetter.java +minecraft net/minecraft/stats/ServerRecipeBook.java \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index bf37cbc..45b66ce 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,6 +3,6 @@ org.gradle.parallel=true org.gradle.vfs.watch=false group=wtf.etil.mirai -version=1.19.1-R0.1-SNAPSHOT -mcVersion=1.19.1 -pufferfishRef=b21931ddf3aa85ced77837172a1740511b2c2ec5 \ No newline at end of file +version=1.19.2-R0.1-SNAPSHOT +mcVersion=1.19.2 +pufferfishRef=31d0ff3eee3ed271b73848084b65d63f535e14cc \ No newline at end of file diff --git a/patches/server/0002-Mirai-Configuration.patch b/patches/server/0002-Mirai-Configuration.patch index 1781886..93fa980 100644 --- a/patches/server/0002-Mirai-Configuration.patch +++ b/patches/server/0002-Mirai-Configuration.patch @@ -19,7 +19,7 @@ index 2cc44fbf8e5bd436b6d4e19f6c06b351e750cb31..848ffaab670a6a245c40e52c43e0e7e8 new TimingsExport(listeners, parent, history).start(); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index ad166788225841927bedc5243dbe94863c270425..ea461ff0b13a3ccba2f0ed02b9268712eaf728c1 100644 +index 519883c5549744e047a8a96afee142746fcb49cd..2ef1d4feff67f9e618dc96bd1a3a086ddff25673 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -228,6 +228,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -108,7 +108,7 @@ index 0000000000000000000000000000000000000000..d73428f5554384e5bbf1c8607073b50d \ No newline at end of file diff --git a/src/main/java/wtf/etil/mirai/MiraiConfig.java b/src/main/java/wtf/etil/mirai/MiraiConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..50ec3059c0af3ebf561394f542d8fff1f5d66e9d +index 0000000000000000000000000000000000000000..860f244e229b18701f4719b5ece7a00f377868a7 --- /dev/null +++ b/src/main/java/wtf/etil/mirai/MiraiConfig.java @@ -0,0 +1,134 @@ @@ -168,7 +168,7 @@ index 0000000000000000000000000000000000000000..50ec3059c0af3ebf561394f542d8fff1 + setComment("info", + "Mirai Configuration", + "Join our Discord at https://discord.gg/DdH6Yfu9gM", -+ "Download new builds at https://github.com/etil2jz/Mirai/releases"); ++ "Download new builds at https://ci.codemc.io/job/etil2jz/job/Mirai-1.19/lastSuccessfulBuild/"); + + for (Method method : MiraiConfig.class.getDeclaredMethods()) { + if (Modifier.isStatic(method.getModifiers()) && Modifier.isPrivate(method.getModifiers()) && method.getParameterCount() == 0 && diff --git a/patches/server/0004-Reduce-constants-allocations.patch b/patches/server/0004-Reduce-constants-allocations.patch index 4b1fcb4..11449a9 100644 --- a/patches/server/0004-Reduce-constants-allocations.patch +++ b/patches/server/0004-Reduce-constants-allocations.patch @@ -183,7 +183,7 @@ index 6a5e33d9821221be73f9c16afc17c9130248a231..29b7bde3ef3c5817910ccd5248e791f9 public double getDouble(int index) { diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 868d4913f63b3f4752f7f1cdcd81e118e482c474..813b77047cd2b158f0254a18f94983e37fce4b72 100644 +index 2a26d03fba2f3b37f176be9e47954ef9a6cd7b3e..969968cfcf2c2ed019fab3407b22d4974926bdd2 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -311,7 +311,7 @@ public class Connection extends SimpleChannelInboundHandler> { @@ -209,7 +209,7 @@ index 0a843e0afbcb1af8e2641515eb244b791b819b8c..c420ce5c1bebdb0abe273d73a61a15e5 OptionSpec optionspec11 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1, new Integer[0]); OptionSpec optionspec12 = optionparser.accepts("serverId").withRequiredArg(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d92c69e902d7631634c2762f0a8339c966ad9f7d..da2cab1d6df536baa9274fb2aa949003d803e332 100644 +index a71567603595a4fef105c082c2c5cad38cce57f1..fe9f4e552766ca4de5011f65615257270bfa5c74 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1372,8 +1372,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 15000L) { // 15 seconds -@@ -875,13 +875,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -879,13 +879,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); // Paper - run this async // CraftBukkit start if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable @@ -287,7 +287,7 @@ index 5b543a3f115fc80778db662d8557d12d3bd36942..23038001b5165a0092c23707b779293c return; } // Paper end -@@ -3346,7 +3346,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3396,7 +3396,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -297,10 +297,10 @@ index 5b543a3f115fc80778db662d8557d12d3bd36942..23038001b5165a0092c23707b779293c } } diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index c36babd85b7d5ba57c08708d0bbf01e16a70a4b2..9a4d3d75f12716a69aec78034079fcad6c8cca04 100644 +index 881f6f61015c7f2f28b204467f984dbf8d37d89a..4c6dc6589f359c4d17d425068d2c1d38fd3b60d9 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -295,8 +295,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -279,8 +279,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se @Override public void handleHello(ServerboundHelloPacket packet) { @@ -311,7 +311,7 @@ index c36babd85b7d5ba57c08708d0bbf01e16a70a4b2..9a4d3d75f12716a69aec78034079fcad // Paper start - validate usernames if (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() && io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.performUsernameValidation) { if (!this.iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation && !validateUsername(packet.name())) { -@@ -356,7 +356,7 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -340,7 +340,7 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se @Override public void handleKey(ServerboundKeyPacket packet) { @@ -321,7 +321,7 @@ index c36babd85b7d5ba57c08708d0bbf01e16a70a4b2..9a4d3d75f12716a69aec78034079fcad final String s; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 37d8a797bb590c30bf42ab04128489a9390684d3..affcdfcc60a3c68a719115c7e3fc06b81e94eda6 100644 +index 71623c84a5b15023189c14a6bf36e1b08f935fc1..10b1ce4ed26905026fae651a52376ac19203c8d9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -735,7 +735,7 @@ public abstract class PlayerList { @@ -504,7 +504,7 @@ index 2f9f15d99f8b31e9f13f7f32378b2a9e09bcb5e5..b9579e3d1610ddcb5251baa2dd9462e0 @Override diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index a2a0bc4874a031c964a5cdb5bc26494cd01351eb..670e2ae1ef532089c0ba76d96f6ca23535599b1d 100644 +index 0681a7499755b573c191804b38ac8783eb7d0f32..73abb858900d8d1bc4b3bc0fde6665e5309ece06 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -1521,7 +1521,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0019-Better-handling-of-async-tasks.patch b/patches/server/0019-Better-handling-of-async-tasks.patch index ac80e60..464b292 100644 --- a/patches/server/0019-Better-handling-of-async-tasks.patch +++ b/patches/server/0019-Better-handling-of-async-tasks.patch @@ -59,7 +59,7 @@ index c0fdc5a79107f8694a514a12d5526bd431fc45e9..eeb20c5b9365a04db45e738793f6c10a public static Runnable once(Runnable run) { AtomicBoolean ran = new AtomicBoolean(false); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e790ef23bdad13cb40666e408af97e4b6d4c411f..4ace20e9e87c53f2d737c46bde6b9e28282a26a3 100644 +index ad76c32905fe185b2f2518f0ba857e1871231ba5..724dff48ad5936d0ff762d38dcca234308d1aa7e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1020,6 +1020,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { -@@ -144,7 +145,7 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -140,7 +141,7 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se return ret; } @@ -107,7 +107,7 @@ index 9a4d3d75f12716a69aec78034079fcad6c8cca04..3dc5109f144b371b60d6a4943f853474 // Paper end // Spigot start public void initUUID() -@@ -329,7 +330,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -313,7 +314,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se // Paper end // Spigot start // Paper start - Cache authenticator threads @@ -117,7 +117,7 @@ index 9a4d3d75f12716a69aec78034079fcad6c8cca04..3dc5109f144b371b60d6a4943f853474 @Override public void run() { try { -@@ -387,7 +389,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -371,7 +373,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se } // Paper start - Cache authenticator threads @@ -127,7 +127,7 @@ index 9a4d3d75f12716a69aec78034079fcad6c8cca04..3dc5109f144b371b60d6a4943f853474 public void run() { GameProfile gameprofile = ServerLoginPacketListenerImpl.this.gameProfile; -@@ -536,7 +539,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -520,7 +523,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se } // Proceed with login diff --git a/patches/server/0026-Do-not-process-chat-commands-before-player-has-joine.patch b/patches/server/0026-Do-not-process-chat-commands-before-player-has-joine.patch index 6447162..14a01f5 100644 --- a/patches/server/0026-Do-not-process-chat-commands-before-player-has-joine.patch +++ b/patches/server/0026-Do-not-process-chat-commands-before-player-has-joine.patch @@ -7,10 +7,10 @@ Original code by Starlis, licensed under GNU General Public License v3.0 You can find the original code on https://github.com/starlis/empirecraft diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c5a4eafdced5dbd8f8aa2607a3c8b77e2535a4a3..2c9c803880621da22e58afe5de992b4f22f833f9 100644 +index 2063c92f73a76ee2f070681458a0fc3b5c06e586..214ef186233465d6f4e6567b3565897038acf801 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2311,6 +2311,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2347,6 +2347,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales this.send(new ClientboundSystemChatPacket(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED), false)); return false; diff --git a/patches/server/0030-Spread-out-and-optimise-player-list-ticksSpread-out-.patch b/patches/server/0030-Spread-out-and-optimise-player-list-ticksSpread-out-.patch index 30009b0..296b13e 100644 --- a/patches/server/0030-Spread-out-and-optimise-player-list-ticksSpread-out-.patch +++ b/patches/server/0030-Spread-out-and-optimise-player-list-ticksSpread-out-.patch @@ -8,7 +8,7 @@ Original code by PurpurMC, licensed under MIT You can find the original code on https://github.com/PurpurMC/Purpur diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 35717f36244df395b89416e6caecbd9e7726fa95..d8050543f6112c095e459500cc8c38cb1c485284 100644 +index 9b4a2640b7a4c3a07b617c82f8fec06631a8734a..5930ee1dbabf644361220b67407e3ac871c391a8 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1032,22 +1032,22 @@ public abstract class PlayerList { @@ -48,10 +48,10 @@ index 35717f36244df395b89416e6caecbd9e7726fa95..d8050543f6112c095e459500cc8c38cb public void broadcastAll(Packet packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9f34358dfcb95104c5bb9e63fbe295e6e049a55d..2f1fdb19c6e5ac4cadd5586970dbbd5a8f6fabf8 100644 +index ef9c3a7b15a4901e1662e6d55504b9cbbb804ad3..4b2e2446ca0f55f3309f537f16c0317041d29577 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1827,7 +1827,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1843,7 +1843,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/patches/server/0037-Alternative-Keepalive-Handling.patch b/patches/server/0037-Alternative-Keepalive-Handling.patch index e04c3ef..aa3a25f 100644 --- a/patches/server/0037-Alternative-Keepalive-Handling.patch +++ b/patches/server/0037-Alternative-Keepalive-Handling.patch @@ -7,7 +7,7 @@ Original code by PurpurMC, licensed under MIT You can find the original code on https://github.com/PurpurMC/Purpur diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2c9c803880621da22e58afe5de992b4f22f833f9..7846ce8a78a560855d7e2263db656143ea12e3f8 100644 +index 214ef186233465d6f4e6567b3565897038acf801..1b563829545aebfb1b8f3cea6fa7f99e52a247cc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -258,6 +258,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -40,7 +40,7 @@ index 2c9c803880621da22e58afe5de992b4f22f833f9..7846ce8a78a560855d7e2263db656143 if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3546,6 +3562,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3596,6 +3612,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { @@ -58,7 +58,7 @@ index 2c9c803880621da22e58afe5de992b4f22f833f9..7846ce8a78a560855d7e2263db656143 if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) { int i = (int) (Util.getMillis() - this.keepAliveTime); diff --git a/src/main/java/wtf/etil/mirai/MiraiConfig.java b/src/main/java/wtf/etil/mirai/MiraiConfig.java -index 15121a29de7a5b6b6ae062449221ad586ead655e..eda02eabbdb3c8d2cfe8c524fe9f5dfcca1089d8 100644 +index c9cd093b4d1d828457e98b2b3f9bb7161586f0f0..42f641b7bbda79144d53f2a6e560e088cea4bab8 100644 --- a/src/main/java/wtf/etil/mirai/MiraiConfig.java +++ b/src/main/java/wtf/etil/mirai/MiraiConfig.java @@ -159,4 +159,11 @@ public class MiraiConfig { diff --git a/patches/server/0038-Logger-settings-suppressing-pointless-logs.patch b/patches/server/0038-Logger-settings-suppressing-pointless-logs.patch index b437674..42e6d95 100644 --- a/patches/server/0038-Logger-settings-suppressing-pointless-logs.patch +++ b/patches/server/0038-Logger-settings-suppressing-pointless-logs.patch @@ -7,67 +7,72 @@ Original code by PurpurMC, licensed under MIT You can find the original code on https://github.com/PurpurMC/Purpur diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java -index a0c19503aabab5378d672a30163d35a5ba05b6c1..f70be47882fb05e34e672e2c0c4b64f9d3f901a1 100644 +index a0c19503aabab5378d672a30163d35a5ba05b6c1..90173d7c0e8fc41ecd70ffce81eaa624045eac70 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java -@@ -183,6 +183,7 @@ public class PlayerAdvancements { +@@ -183,7 +183,7 @@ public class PlayerAdvancements { if (advancement == null) { // CraftBukkit start if (entry.getKey().getNamespace().equals("minecraft")) { -+ if (!wtf.etil.mirai.MiraiConfig.loggerSuppressIgnoredAdvancementWarnings) // Purpur - PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", entry.getKey(), this.file); +- PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", entry.getKey(), this.file); ++ if (!wtf.etil.mirai.MiraiConfig.loggerSuppressIgnoredAdvancementWarnings) PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", entry.getKey(), this.file); // Purpur } // CraftBukkit end + } else { diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java -index 80c1e0e47818486a68e0114b063395290365346b..365ede275df6b3b4da7075f29699ca7411b81f6d 100644 +index 80c1e0e47818486a68e0114b063395290365346b..1194c501a82e0e84d961d4ccb62f0c6092db559e 100644 --- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java +++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java -@@ -295,6 +295,7 @@ public class WorldGenRegion implements WorldGenLevel { +@@ -295,7 +295,7 @@ public class WorldGenRegion implements WorldGenLevel { return true; } else { // Paper start -+ if (!wtf.etil.mirai.MiraiConfig.loggerSuppressSetBlockFarChunk) // Purpur - if (!hasSetFarWarned) { +- if (!hasSetFarWarned) { ++ if (!hasSetFarWarned && !wtf.etil.mirai.MiraiConfig.loggerSuppressSetBlockFarChunk) { // Purpur Util.logAndPauseIfInIde("Detected setBlock in a far chunk [" + i + ", " + j + "], pos: " + pos + ", status: " + this.generatingStatus + (this.currentlyGenerating == null ? "" : ", currently generating: " + (String) this.currentlyGenerating.get())); hasSetFarWarned = true; + if (this.getServer() != null && this.getServer().isDebugging()) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7846ce8a78a560855d7e2263db656143ea12e3f8..7bf8ade4c9907c0dc060b318c34cb43f7f9078c5 100644 +index 1b563829545aebfb1b8f3cea6fa7f99e52a247cc..bc3f0dfe075ea2aeae48df05c66c9045810f7a0b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2577,6 +2577,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic - return false; - } else { - if (message.hasExpiredServer(Instant.now())) { -+ if (!wtf.etil.mirai.MiraiConfig.loggerSuppressSentExpiredChat) // Purpur - ServerGamePacketListenerImpl.LOGGER.warn("{} sent expired chat: '{}'. Is the client/server system time unsynchronized? c: {} s: {}", this.player.getName().getString(), message.signedContent().plain(), message.timeStamp().getEpochSecond(), Instant.now().getEpochSecond()); // Paper - } +@@ -2625,7 +2625,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + } + if (playerchatmessage.hasExpiredServer(Instant.now())) { +- ServerGamePacketListenerImpl.LOGGER.warn("{} sent expired chat: '{}'. Is the client/server system time unsynchronized? c: {} s: {}", this.player.getName().getString(), playerchatmessage.signedContent().plain(), playerchatmessage.timeStamp().getEpochSecond(), Instant.now().getEpochSecond()); // Paper ++ if (!wtf.etil.mirai.MiraiConfig.loggerSuppressSentExpiredChat) ServerGamePacketListenerImpl.LOGGER.warn("{} sent expired chat: '{}'. Is the client/server system time unsynchronized? c: {} s: {}", this.player.getName().getString(), playerchatmessage.signedContent().plain(), playerchatmessage.timeStamp().getEpochSecond(), Instant.now().getEpochSecond()); // Paper // Purpur + } + + return true; diff --git a/src/main/java/net/minecraft/stats/ServerRecipeBook.java b/src/main/java/net/minecraft/stats/ServerRecipeBook.java -index d13ed3069e944d138442ea440ac3eaf8d44c18d3..c19367bdad3997aa7aac609762f9cf731433adfc 100644 +index d13ed3069e944d138442ea440ac3eaf8d44c18d3..1caa394029b712a76a9e5ed13a57c08752549fed 100644 --- a/src/main/java/net/minecraft/stats/ServerRecipeBook.java +++ b/src/main/java/net/minecraft/stats/ServerRecipeBook.java -@@ -122,6 +122,7 @@ public class ServerRecipeBook extends RecipeBook { +@@ -122,7 +122,7 @@ public class ServerRecipeBook extends RecipeBook { Optional> optional = recipeManager.byKey(minecraftkey); if (!optional.isPresent()) { -+ if (!wtf.etil.mirai.MiraiConfig.loggerSuppressUnrecognizedRecipeErrors) // Purpur - ServerRecipeBook.LOGGER.error("Tried to load unrecognized recipe: {} removed now.", minecraftkey); +- ServerRecipeBook.LOGGER.error("Tried to load unrecognized recipe: {} removed now.", minecraftkey); ++ if (!wtf.etil.mirai.MiraiConfig.loggerSuppressUnrecognizedRecipeErrors) ServerRecipeBook.LOGGER.error("Tried to load unrecognized recipe: {} removed now.", minecraftkey); // Purpur } else { handler.accept((Recipe) optional.get()); + } diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java -index b2a15c986c7500a0ce227a54cb61ec3f5378f6f3..d243af83f3159d8a4d56d08dab022b317cc5687e 100644 +index b2a15c986c7500a0ce227a54cb61ec3f5378f6f3..9e71c0cba898bac4921c34040397132b3f2f3ccf 100644 --- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java +++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java -@@ -255,6 +255,7 @@ public final class CraftLegacy { +@@ -255,7 +255,7 @@ public final class CraftLegacy { } static { -+ if (!wtf.etil.mirai.MiraiConfig.loggerSuppressInitLegacyMaterialError) // Purpur - System.err.println("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!"); +- System.err.println("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!"); ++ if (!wtf.etil.mirai.MiraiConfig.loggerSuppressInitLegacyMaterialError) System.err.println("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!"); // Purpur if (MinecraftServer.getServer() != null && MinecraftServer.getServer().isDebugging()) { new Exception().printStackTrace(); + } diff --git a/src/main/java/wtf/etil/mirai/MiraiConfig.java b/src/main/java/wtf/etil/mirai/MiraiConfig.java -index eda02eabbdb3c8d2cfe8c524fe9f5dfcca1089d8..375a56a4fe9d1a2d32f3db32c09341d249557342 100644 +index 42f641b7bbda79144d53f2a6e560e088cea4bab8..d7f6fc8071f169b46553bcd77f9da839b59fa8de 100644 --- a/src/main/java/wtf/etil/mirai/MiraiConfig.java +++ b/src/main/java/wtf/etil/mirai/MiraiConfig.java @@ -166,4 +166,27 @@ public class MiraiConfig { diff --git a/patches/server/0097-Optimize-Math.round-and-Math.hypot-functions.patch b/patches/server/0097-Optimize-Math.round-and-Math.hypot-functions.patch index 5695fdd..143cf15 100644 --- a/patches/server/0097-Optimize-Math.round-and-Math.hypot-functions.patch +++ b/patches/server/0097-Optimize-Math.round-and-Math.hypot-functions.patch @@ -164,10 +164,10 @@ index ae60bd96b5284d54676d8e7e4dd5d170b526ec1e..2344ea858eda8e54c2eb3ccbdad464ed return true; } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 55f6e8a47d4a50a65cfd08f15499546ef2a3327b..acd9ca84f4f208c8264ac6560bea85d1e568404f 100644 +index 2308d91066825fc90bd7645313138471f8b8aa1b..cf628f7a06e833b7e27cf3f48ad6ada9683204e3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2784,7 +2784,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop shouldSendFiltered, @Nullable ServerPlayer entityplayer, ChatSender chatsender, ChatType.Bound chatmessagetype_a) { - boolean flag = this.verifyChatTrusted(playerchatmessage, chatsender); +@@ -1445,6 +1445,13 @@ public abstract class PlayerList { + // Paper end + boolean flag = this.verifyChatTrusted(message, sourceProfile); + // Mirai start - Configurable chat message signatures + if (wtf.etil.mirai.MiraiConfig.chatMessageSignatures) { + flag = true; -+ playerchatmessage = PlayerChatMessage.system(playerchatmessage.signedContent()); ++ message = PlayerChatMessage.system(message.signedContent()); + } + // Mirai end + - this.server.logChatMessage(playerchatmessage.serverContent(), chatmessagetype_a, flag ? null : "Not Secure"); - OutgoingPlayerChatMessage outgoingplayerchatmessage = OutgoingPlayerChatMessage.create(playerchatmessage); - boolean flag1 = playerchatmessage.isFullyFiltered(); + this.server.logChatMessage((unsignedFunction == null ? message : message.withUnsignedContent(unsignedFunction.apply(this.server.console))).serverContent(), params, flag ? null : "Not Secure"); // Paper + OutgoingPlayerChatMessage outgoingplayerchatmessage = OutgoingPlayerChatMessage.create(message); + boolean flag1 = message.isFullyFiltered(); diff --git a/src/main/java/wtf/etil/mirai/MiraiConfig.java b/src/main/java/wtf/etil/mirai/MiraiConfig.java -index 42da3cbd8bf1f1960fad09f6563087cab1e3fbee..72de28f361f4e7f652f715fc210488fff3c8a604 100644 +index f6f88a802c6f1892418fd6bcb8b4bc0b90fb6afb..13884ca2bd4e459498700e2fed1f0b4406538f53 100644 --- a/src/main/java/wtf/etil/mirai/MiraiConfig.java +++ b/src/main/java/wtf/etil/mirai/MiraiConfig.java @@ -244,4 +244,12 @@ public class MiraiConfig {