From bb13e5be5eb015818f902608bb174a9a2c19e0a7 Mon Sep 17 00:00:00 2001 From: etil2jz <81570777+etil2jz@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:21:33 +0200 Subject: [PATCH] Update Upstream (Pufferfish) --- gradle.properties | 2 +- .../0004-Reduce-constants-allocations.patch | 26 +++++++++---------- ...dd-config-for-logging-login-location.patch | 6 ++--- ...op-wasting-resources-on-JsonList-get.patch | 4 +-- patches/server/0014-Remove-TickTask.patch | 4 +-- .../0019-Better-handling-of-async-tasks.patch | 6 ++--- .../0023-Configurable-flight-checks.patch | 8 +++--- ...hat-commands-before-player-has-joine.patch | 4 +-- ...ptimise-player-list-ticksSpread-out-.patch | 8 +++--- .../0037-Alternative-Keepalive-Handling.patch | 10 +++---- ...-settings-suppressing-pointless-logs.patch | 6 ++--- ...ont-eat-blocks-in-non-ticking-chunks.patch | 4 +-- ...2-Cache-block-break-animation-packet.patch | 6 ++--- ...educe-work-done-by-game-event-system.patch | 4 +-- ...Configurable-chat-message-signatures.patch | 8 +++--- ...-Set-BlockData-without-light-updates.patch | 4 +-- patches/server/0108-Smooth-Teleports.patch | 14 +++++----- 17 files changed, 62 insertions(+), 62 deletions(-) diff --git a/gradle.properties b/gradle.properties index 4bb84ef..352e9c2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,4 +5,4 @@ org.gradle.vfs.watch=false group=wtf.etil.mirai version=1.19.2-R0.1-SNAPSHOT mcVersion=1.19.2 -pufferfishRef=3888607ea6f8424c4a8e393d93cd21932e4500ea \ No newline at end of file +pufferfishRef=08aeb1a67c9ec3a5c788a8cec0b2c819a17af60f \ No newline at end of file diff --git a/patches/server/0004-Reduce-constants-allocations.patch b/patches/server/0004-Reduce-constants-allocations.patch index a94c611..82581fe 100644 --- a/patches/server/0004-Reduce-constants-allocations.patch +++ b/patches/server/0004-Reduce-constants-allocations.patch @@ -263,10 +263,10 @@ index 02fb51f7f699992caf13d088c75b8275ec5267bb..11cb4ac19ddc09889117690ffec51915 private static final FormattedText TEXT_NULL = FormattedText.of("null"); private final String key; diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 0a843e0afbcb1af8e2641515eb244b791b819b8c..c420ce5c1bebdb0abe273d73a61a15e5424fb1bb 100644 +index 5962f7a2b185d7d54a0f9e341a4fdf6e6f1c1ec5..0b677d128cbd108bb58d74d3cfe6015551e94143 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -81,7 +81,7 @@ public class Main { +@@ -85,7 +85,7 @@ public class Main { OptionSpec optionspec6 = optionparser.accepts("safeMode", "Loads level with vanilla datapack only"); OptionSpec optionspec7 = optionparser.accepts("help").forHelp(); OptionSpec optionspec8 = optionparser.accepts("singleplayer").withRequiredArg(); @@ -304,10 +304,10 @@ index 88152988425b7b02ec5ce229ba4c24b40e030329..a0317be1eea29e4e911976e0106563cf for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 0c71d72fb04eb00e159ddd456df82376fc912b4e..8a941fab5a5e0335294f706d7643c51c70906e7f 100644 +index 8ed9f14f1ca71111a8215b28821bd5e398c0d0a6..31a4dac824b3d98e05cef5b96473a8a179516a01 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -875,7 +875,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -877,7 +877,7 @@ public class ServerLevel extends Level implements WorldGenLevel { BlockPos blockposition2 = blockposition.set(j + randomX, randomY, k + randomZ); BlockState iblockdata = com.destroystokyo.paper.util.maplist.IBlockDataList.getBlockDataFromRaw(raw); @@ -316,7 +316,7 @@ index 0c71d72fb04eb00e159ddd456df82376fc912b4e..8a941fab5a5e0335294f706d7643c51c // We drop the fluid tick since LAVA is ALREADY TICKED by the above method (See LiquidBlock). // TODO CHECK ON UPDATE } -@@ -1130,7 +1130,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1132,7 +1132,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public static List getCurrentlyTickingEntities() { Entity ticking = currentlyTickingEntity.get(); @@ -326,10 +326,10 @@ index 0c71d72fb04eb00e159ddd456df82376fc912b4e..8a941fab5a5e0335294f706d7643c51c return ret; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9aab29dd7a09c306d6c0e1e8143daf005d611d65..22c053d0c730e6d82acc556f08eedcd3c21d1877 100644 +index d3dd458dc1d3eb7f426565e38d63bb26c48cec4b..85aaf1dd86808131f31ed02c28ea19f2d530f9ef 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -416,7 +416,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -410,7 +410,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic 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 @@ -338,7 +338,7 @@ index 9aab29dd7a09c306d6c0e1e8143daf005d611d65..22c053d0c730e6d82acc556f08eedcd3 } } else { if (elapsedTime >= 15000L) { // 15 seconds -@@ -882,13 +882,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -876,13 +876,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 @@ -354,7 +354,7 @@ index 9aab29dd7a09c306d6c0e1e8143daf005d611d65..22c053d0c730e6d82acc556f08eedcd3 return; } // Paper end -@@ -3404,7 +3404,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3392,7 +3392,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) { @@ -388,10 +388,10 @@ index 88a849a21d6e39fd70f6e7b554528da1a5a7dd57..58556611709a953eee834fac56c9eb52 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 8326775a4005b03468fba1ec556f951dc740c302..0406c3e9a3ca06ba2a8cc47bf9f4b6fa293814d7 100644 +index 5999d85e38951503fc83b40cfe39671921ae5088..c50d214eed0414e9b8dc3062d67dc9427c534ef0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -737,7 +737,7 @@ public abstract class PlayerList { +@@ -741,7 +741,7 @@ public abstract class PlayerList { while (iterator.hasNext()) { entityplayer = (ServerPlayer) iterator.next(); this.save(entityplayer); // CraftBukkit - Force the player's inventory to be saved @@ -583,10 +583,10 @@ 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 0681a7499755b573c191804b38ac8783eb7d0f32..73abb858900d8d1bc4b3bc0fde6665e5309ece06 100644 +index 388a153113d87ba99515828c6d535110b4413c7c..6014e93a0698ddb283778478fd64ee1c8400a27b 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 { +@@ -1522,7 +1522,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public org.bukkit.entity.Entity[] getChunkEntities(int chunkX, int chunkZ) { io.papermc.paper.world.ChunkEntitySlices slices = this.entitySliceManager.getChunk(chunkX, chunkZ); if (slices == null) { diff --git a/patches/server/0010-Add-config-for-logging-login-location.patch b/patches/server/0010-Add-config-for-logging-login-location.patch index 57a9e48..7951994 100644 --- a/patches/server/0010-Add-config-for-logging-login-location.patch +++ b/patches/server/0010-Add-config-for-logging-login-location.patch @@ -7,10 +7,10 @@ Original code by YatopiaMC, licensed under MIT You can find the original code on https://github.com/YatopiaMC/Yatopia diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0406c3e9a3ca06ba2a8cc47bf9f4b6fa293814d7..b2d98d5d6c5f99eff975a200e78ef6af69ccfe1a 100644 +index c50d214eed0414e9b8dc3062d67dc9427c534ef0..c687056ff9be0ff6877a22ba4d7aeda0d94e73e7 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -500,7 +500,13 @@ public abstract class PlayerList { +@@ -504,7 +504,13 @@ public abstract class PlayerList { } // Paper end // CraftBukkit - Moved from above, added world @@ -26,7 +26,7 @@ index 0406c3e9a3ca06ba2a8cc47bf9f4b6fa293814d7..b2d98d5d6c5f99eff975a200e78ef6af public void updateEntireScoreboard(ServerScoreboard scoreboard, ServerPlayer player) { diff --git a/src/main/java/wtf/etil/mirai/MiraiConfig.java b/src/main/java/wtf/etil/mirai/MiraiConfig.java -index 860f244e229b18701f4719b5ece7a00f377868a7..c7d4aa9065a49120ed74fab4bddd6f0c08275f21 100644 +index adf6004cd1637a2662e2d448221b063688a26016..6f05bb1fe09dd68d4cd3e0569cbb55d5966d00a1 100644 --- a/src/main/java/wtf/etil/mirai/MiraiConfig.java +++ b/src/main/java/wtf/etil/mirai/MiraiConfig.java @@ -131,4 +131,10 @@ public class MiraiConfig { diff --git a/patches/server/0012-Stop-wasting-resources-on-JsonList-get.patch b/patches/server/0012-Stop-wasting-resources-on-JsonList-get.patch index 948fbb9..f080060 100644 --- a/patches/server/0012-Stop-wasting-resources-on-JsonList-get.patch +++ b/patches/server/0012-Stop-wasting-resources-on-JsonList-get.patch @@ -7,10 +7,10 @@ Original code by YatopiaMC, licensed under MIT You can find the original code on https://github.com/YatopiaMC/Yatopia diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b2d98d5d6c5f99eff975a200e78ef6af69ccfe1a..05eb9a1bd670c9e01f58cd13b3d72a232d454387 100644 +index c687056ff9be0ff6877a22ba4d7aeda0d94e73e7..95455c3a786a746dbf14095c89dfd2b7bdb1e4da 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -760,13 +760,19 @@ public abstract class PlayerList { +@@ -764,13 +764,19 @@ public abstract class PlayerList { if (getBans().isBanned(gameprofile) && (gameprofilebanentry = getBans().get(gameprofile)) != null) { // Paper end diff --git a/patches/server/0014-Remove-TickTask.patch b/patches/server/0014-Remove-TickTask.patch index 0b04571..46df482 100644 --- a/patches/server/0014-Remove-TickTask.patch +++ b/patches/server/0014-Remove-TickTask.patch @@ -57,10 +57,10 @@ index 98b9b07e24b50e7021546680baf2ddd86ce5bd98..fa185dba873f8a58378a5575bf408690 private void updateStatusIcon(ServerStatus metadata) { Optional optional = Optional.of(this.getFile("server-icon.png")).filter(File::isFile); diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 378cc1f9e19eb9b18037ab8af92f65897e15a405..998a1faa9f7ea2fb0d522c941c5e2cf90cb1c6da 100644 +index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..2bb545b505aa726b7ed7c757caed84bf0538782e 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -1262,10 +1262,12 @@ public class ServerChunkCache extends ChunkSource { +@@ -1085,10 +1085,12 @@ public class ServerChunkCache extends ChunkSource { return runnable; } diff --git a/patches/server/0019-Better-handling-of-async-tasks.patch b/patches/server/0019-Better-handling-of-async-tasks.patch index 8f06681..83b060a 100644 --- a/patches/server/0019-Better-handling-of-async-tasks.patch +++ b/patches/server/0019-Better-handling-of-async-tasks.patch @@ -7,10 +7,10 @@ Original code by Titaniumtown, licensed under GNU General Public License v3.0 You can find the original code on https://gitlab.com/Titaniumtown/JettPack diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index c0fdc5a79107f8694a514a12d5526bd431fc45e9..eeb20c5b9365a04db45e738793f6c10a4f2b759e 100644 +index e9f0ddf1a34bf3b0d868b53e4439d9d9851ad4d6..cae99d217f40f6bc8337619b6e26153ccf261fc2 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java -@@ -53,11 +53,14 @@ import java.util.concurrent.atomic.AtomicBoolean; +@@ -51,11 +51,14 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Supplier; @@ -27,7 +27,7 @@ index c0fdc5a79107f8694a514a12d5526bd431fc45e9..eeb20c5b9365a04db45e738793f6c10a new ThreadFactoryBuilder() .setNameFormat("Paper Async Task Handler Thread - %1$d") .setUncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(MinecraftServer.LOGGER)) -@@ -74,6 +77,30 @@ public final class MCUtil { +@@ -72,6 +75,30 @@ public final class MCUtil { public static final long INVALID_CHUNK_KEY = getCoordinateKey(Integer.MAX_VALUE, Integer.MAX_VALUE); diff --git a/patches/server/0023-Configurable-flight-checks.patch b/patches/server/0023-Configurable-flight-checks.patch index 877e778..e1ebebc 100644 --- a/patches/server/0023-Configurable-flight-checks.patch +++ b/patches/server/0023-Configurable-flight-checks.patch @@ -7,10 +7,10 @@ Original code by YatopiaMC, licensed under MIT You can find the original code on https://github.com/YatopiaMC/Yatopia diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 22c053d0c730e6d82acc556f08eedcd3c21d1877..bf51b61bfb71ff8726da2282610e4e1f8d156227 100644 +index 85aaf1dd86808131f31ed02c28ea19f2d530f9ef..1694debec92a2953d431dde2bbdd629e1450e0dd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -373,7 +373,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -367,7 +367,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ++this.tickCount; this.knownMovePacketCount = this.receivedMovePacketCount; if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger()) { @@ -19,7 +19,7 @@ index 22c053d0c730e6d82acc556f08eedcd3c21d1877..bf51b61bfb71ff8726da2282610e4e1f ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString()); this.disconnect(io.papermc.paper.configuration.GlobalConfiguration.get().messages.kick.flyingPlayer, org.bukkit.event.player.PlayerKickEvent.Cause.FLYING_PLAYER); // Paper - use configurable kick message & kick event cause return; -@@ -392,7 +392,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -386,7 +386,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.vehicleLastGoodY = this.lastVehicle.getY(); this.vehicleLastGoodZ = this.lastVehicle.getZ(); if (this.clientVehicleIsFloating && this.player.getRootVehicle().getControllingPassenger() == this.player) { @@ -29,7 +29,7 @@ index 22c053d0c730e6d82acc556f08eedcd3c21d1877..bf51b61bfb71ff8726da2282610e4e1f this.disconnect(io.papermc.paper.configuration.GlobalConfiguration.get().messages.kick.flyingVehicle, org.bukkit.event.player.PlayerKickEvent.Cause.FLYING_VEHICLE); // Paper - use configurable kick message & kick event cause return; diff --git a/src/main/java/wtf/etil/mirai/MiraiConfig.java b/src/main/java/wtf/etil/mirai/MiraiConfig.java -index b2b986166367ff9bd13320329c96a8c559dd1f1a..f8b725fc9615a1540de38b425fea95f545cc4a18 100644 +index 2baea22bbccae7dcf5617e3d6c830247939b396f..0f94e6a76ab2c323562231ffe58a7c18819e6b00 100644 --- a/src/main/java/wtf/etil/mirai/MiraiConfig.java +++ b/src/main/java/wtf/etil/mirai/MiraiConfig.java @@ -144,4 +144,13 @@ public class MiraiConfig { 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 a0fd99c..5658a77 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 bf51b61bfb71ff8726da2282610e4e1f8d156227..f582b54eebb4e9333e7dce30fb8c4a82d0a85d97 100644 +index 1694debec92a2953d431dde2bbdd629e1450e0dd..a313edc338f1c72d88e8e2be9ebba98cb97e9c6a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2350,6 +2350,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2344,6 +2344,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 de5899f..eddbec3 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,10 +8,10 @@ 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 05eb9a1bd670c9e01f58cd13b3d72a232d454387..3fcb63003a06cf73b8b4ac8d4461c48a2e141fbd 100644 +index 95455c3a786a746dbf14095c89dfd2b7bdb1e4da..32b74aa339db55d187824984b1bd82ccb0953167 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1034,22 +1034,22 @@ public abstract class PlayerList { +@@ -1038,22 +1038,22 @@ public abstract class PlayerList { } public void tick() { @@ -48,10 +48,10 @@ index 05eb9a1bd670c9e01f58cd13b3d72a232d454387..3fcb63003a06cf73b8b4ac8d4461c48a 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 067d64ce06f626ce90b3ccf608d98f3c64fce335..ce9aab711f538d1cf333789ba42292d87b700ff9 100644 +index 41258fcfa0505500665c2f185b9ef6d050213355..0b12669ff17d48e31274f4a69fd795e6dd77d1cf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1843,7 +1843,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1833,7 +1833,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 14e3857..3cfd883 100644 --- a/patches/server/0037-Alternative-Keepalive-Handling.patch +++ b/patches/server/0037-Alternative-Keepalive-Handling.patch @@ -7,10 +7,10 @@ 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 f582b54eebb4e9333e7dce30fb8c4a82d0a85d97..c3d10b9eaa461f1887785cf47130631b4612b465 100644 +index a313edc338f1c72d88e8e2be9ebba98cb97e9c6a..17e361e51a740573d308fdc2ce97eff3789d6b7a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -261,6 +261,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -260,6 +260,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private long keepAliveTime = Util.getMillis(); private boolean keepAlivePending; private long keepAliveChallenge; @@ -18,7 +18,7 @@ index f582b54eebb4e9333e7dce30fb8c4a82d0a85d97..c3d10b9eaa461f1887785cf47130631b // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits -@@ -413,6 +414,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -407,6 +408,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic long currentTime = Util.getMillis(); long elapsedTime = currentTime - this.keepAliveTime; @@ -40,7 +40,7 @@ index f582b54eebb4e9333e7dce30fb8c4a82d0a85d97..c3d10b9eaa461f1887785cf47130631b 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 -@@ -3604,6 +3620,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3592,6 +3608,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { @@ -58,7 +58,7 @@ index f582b54eebb4e9333e7dce30fb8c4a82d0a85d97..c3d10b9eaa461f1887785cf47130631b 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 c9cd093b4d1d828457e98b2b3f9bb7161586f0f0..42f641b7bbda79144d53f2a6e560e088cea4bab8 100644 +index 992ab312e6e2b8283ef8187bcbeeb35dd51858a1..ffbee643991ff36bb3a0b8de937fcf518c25a294 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 1a1147c..1b90656 100644 --- a/patches/server/0038-Logger-settings-suppressing-pointless-logs.patch +++ b/patches/server/0038-Logger-settings-suppressing-pointless-logs.patch @@ -33,10 +33,10 @@ index 80c1e0e47818486a68e0114b063395290365346b..1194c501a82e0e84d961d4ccb62f0c60 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 c3d10b9eaa461f1887785cf47130631b4612b465..58fe8b248f4893cce951931ae8ce447426c4b4b4 100644 +index 17e361e51a740573d308fdc2ce97eff3789d6b7a..ebdc9befbc439ccf3a0b163df15e17304321c44b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2628,7 +2628,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2622,7 +2622,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (playerchatmessage.hasExpiredServer(Instant.now())) { @@ -72,7 +72,7 @@ index b2a15c986c7500a0ce227a54cb61ec3f5378f6f3..9e71c0cba898bac4921c34040397132b new Exception().printStackTrace(); } diff --git a/src/main/java/wtf/etil/mirai/MiraiConfig.java b/src/main/java/wtf/etil/mirai/MiraiConfig.java -index 42f641b7bbda79144d53f2a6e560e088cea4bab8..d7f6fc8071f169b46553bcd77f9da839b59fa8de 100644 +index ffbee643991ff36bb3a0b8de937fcf518c25a294..047b2a9ab1eae5c6aa7a95800892aa76554555dd 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/0070-Dont-eat-blocks-in-non-ticking-chunks.patch b/patches/server/0070-Dont-eat-blocks-in-non-ticking-chunks.patch index f905bd3..79829d1 100644 --- a/patches/server/0070-Dont-eat-blocks-in-non-ticking-chunks.patch +++ b/patches/server/0070-Dont-eat-blocks-in-non-ticking-chunks.patch @@ -7,10 +7,10 @@ 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/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 87518f6ff223ca211727c3002d107bc9bcaa36f9..b9d4878dd629886c4ef3e29ff1b729571d81d785 100644 +index 5fdef81245cb3cc686225cfd7c5ce13b011503ef..cec58f0d7ac6bf73a0f7b418a595704b8b807425 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -1823,7 +1823,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1821,7 +1821,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return this.anyPlayerCloseEnoughForSpawning(this.getUpdatingChunkIfPresent(chunkcoordintpair.toLong()), chunkcoordintpair, reducedRange); } diff --git a/patches/server/0092-Cache-block-break-animation-packet.patch b/patches/server/0092-Cache-block-break-animation-packet.patch index ab6328f..1b552eb 100644 --- a/patches/server/0092-Cache-block-break-animation-packet.patch +++ b/patches/server/0092-Cache-block-break-animation-packet.patch @@ -7,10 +7,10 @@ Original license: GPLv3 Original project: https://github.com/Electroid/SportPaper diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index bed4dd4bbb78457c6cb6ef31f443c0d0371003a4..59029a06b450115d0c3aa2db4357f33bcff42bea 100644 +index e298e40166e7804b8c5e17a4e98f20bb1de8fd50..e2da2c2823fd64ec714c3d083039fc04d11fea73 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1543,6 +1543,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1545,6 +1545,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (entity instanceof Player) entityhuman = (Player) entity; // CraftBukkit end @@ -18,7 +18,7 @@ index bed4dd4bbb78457c6cb6ef31f443c0d0371003a4..59029a06b450115d0c3aa2db4357f33b while (iterator.hasNext()) { ServerPlayer entityplayer = (ServerPlayer) iterator.next(); -@@ -1558,7 +1559,10 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1560,7 +1561,10 @@ public class ServerLevel extends Level implements WorldGenLevel { // CraftBukkit end if (d0 * d0 + d1 * d1 + d2 * d2 < 1024.0D) { diff --git a/patches/server/0097-reduce-work-done-by-game-event-system.patch b/patches/server/0097-reduce-work-done-by-game-event-system.patch index 88c0f96..18e1702 100644 --- a/patches/server/0097-reduce-work-done-by-game-event-system.patch +++ b/patches/server/0097-reduce-work-done-by-game-event-system.patch @@ -11,10 +11,10 @@ Original project: https://github.com/Bloom-host/Petal 2. euclideangameeventdispatcher is not used concurrently so we ban that usage for improved performance with allays diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 59029a06b450115d0c3aa2db4357f33bcff42bea..11db08bfb28eb7050c2409832e9bb5ad9c7ef3b0 100644 +index e2da2c2823fd64ec714c3d083039fc04d11fea73..3f749f33f9168455cfe14a6e6120f36b412205f3 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1621,6 +1621,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1623,6 +1623,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (chunk != null) { for (int j2 = k; j2 <= j1; ++j2) { flag |= chunk.getEventDispatcher(j2).walkListeners(event, emitterPos, emitter, (gameeventlistener, vec3d1) -> { diff --git a/patches/server/0099-Configurable-chat-message-signatures.patch b/patches/server/0099-Configurable-chat-message-signatures.patch index fbf9b4e..c9685ac 100644 --- a/patches/server/0099-Configurable-chat-message-signatures.patch +++ b/patches/server/0099-Configurable-chat-message-signatures.patch @@ -29,10 +29,10 @@ index aec14ff5235686a3e02b66eb3ad05fed2c4756b4..60ba00eb6daeeb9b97281f9380d373af } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 58fe8b248f4893cce951931ae8ce447426c4b4b4..c0985012edd47677e4919174946732535515e478 100644 +index ebdc9befbc439ccf3a0b163df15e17304321c44b..508ccef19a5f7a23be9c941ea34ddc26257af6f8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2169,10 +2169,34 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2163,10 +2163,34 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void send(Packet packet) { @@ -68,10 +68,10 @@ index 58fe8b248f4893cce951931ae8ce447426c4b4b4..c0985012edd47677e491917494673253 if (packet == null || this.processedDisconnect) { // Spigot return; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3fcb63003a06cf73b8b4ac8d4461c48a2e141fbd..33914db0bd8bb751f52fafc630625996156f30e3 100644 +index 32b74aa339db55d187824984b1bd82ccb0953167..193ff873323b2f4845ef6e90f8a05fc168b6b77d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1485,6 +1485,7 @@ public abstract class PlayerList { +@@ -1489,6 +1489,7 @@ public abstract class PlayerList { } public boolean verifyChatTrusted(PlayerChatMessage message, ChatSender profile) { // Paper - private -> public diff --git a/patches/server/0106-Set-BlockData-without-light-updates.patch b/patches/server/0106-Set-BlockData-without-light-updates.patch index ac8ed8c..3b33cfe 100644 --- a/patches/server/0106-Set-BlockData-without-light-updates.patch +++ b/patches/server/0106-Set-BlockData-without-light-updates.patch @@ -31,7 +31,7 @@ index 8afacc53a673567cead4c6e49966f07f1d5da754..33f07595a99a94984f221fdf8e436dd3 return false; } else { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index f915415e2e24ee7ab3c279ae1fa98d2d9d19a683..d110c887878fa1555c0a258818471baf6a2c6a8c 100644 +index 53149faf2b33d202809e259800b15a0d0c2dacf2..4f79fb616d594c1d1456cf7efc938c6621fbee68 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -613,12 +613,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -59,7 +59,7 @@ index f915415e2e24ee7ab3c279ae1fa98d2d9d19a683..d110c887878fa1555c0a258818471baf this.getProfiler().push("queueCheckLight"); this.getChunkSource().getLightEngine().checkBlock(pos); this.getProfiler().pop(); -@@ -812,7 +812,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -813,7 +813,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { Block.dropResources(iblockdata, this, pos, tileentity, breakingEntity, ItemStack.EMPTY); } diff --git a/patches/server/0108-Smooth-Teleports.patch b/patches/server/0108-Smooth-Teleports.patch index bbb92fb..a2d6b3f 100644 --- a/patches/server/0108-Smooth-Teleports.patch +++ b/patches/server/0108-Smooth-Teleports.patch @@ -21,31 +21,31 @@ index 9c49496741db2e4f309b1bc6ece26f592dd216b8..ac64ed3d6c64caa5c548f350f141e2fe public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, @Nullable ProfilePublicKey publicKey) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile, publicKey); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 33914db0bd8bb751f52fafc630625996156f30e3..14152f1366d0db0a78cc85ea126a8977a15a656b 100644 +index 193ff873323b2f4845ef6e90f8a05fc168b6b77d..bded25d3d87ee8c6e90874275e9d1ab3fd65a26b 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -966,12 +966,12 @@ public abstract class PlayerList { +@@ -970,12 +970,12 @@ public abstract class PlayerList { } // CraftBukkit start LevelData worlddata = worldserver1.getLevelData(); - entityplayer1.connection.send(new ClientboundRespawnPacket(worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), entityplayer1.gameMode.getGameModeForPlayer(), entityplayer1.gameMode.getPreviousGameModeForPlayer(), worldserver1.isDebug(), worldserver1.isFlat(), flag, entityplayer1.getLastDeathLocation())); -+ if (!entityplayer.smoothWorldTeleport) entityplayer1.connection.send(new ClientboundRespawnPacket(worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), entityplayer1.gameMode.getGameModeForPlayer(), entityplayer1.gameMode.getPreviousGameModeForPlayer(), worldserver1.isDebug(), worldserver1.isFlat(), flag, entityplayer1.getLastDeathLocation())); ++ if (!entityplayer.smoothWorldTeleport) entityplayer1.connection.send(new ClientboundRespawnPacket(worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), entityplayer1.gameMode.getGameModeForPlayer(), entityplayer1.gameMode.getPreviousGameModeForPlayer(), worldserver1.isDebug(), worldserver1.isFlat(), flag, entityplayer1.getLastDeathLocation())); // Slice entityplayer1.connection.send(new ClientboundSetChunkCacheRadiusPacket(worldserver1.getChunkSource().chunkMap.playerChunkManager.getTargetSendDistance())); // Spigot // Paper - replace old player chunk management entityplayer1.connection.send(new ClientboundSetSimulationDistancePacket(worldserver1.getChunkSource().chunkMap.playerChunkManager.getTargetTickViewDistance())); // Spigot // Paper - replace old player chunk management entityplayer1.spawnIn(worldserver1); entityplayer1.unsetRemoved(); - entityplayer1.connection.teleport(new Location(worldserver1.getWorld(), entityplayer1.getX(), entityplayer1.getY(), entityplayer1.getZ(), entityplayer1.getYRot(), entityplayer1.getXRot())); -+ if (!entityplayer.smoothWorldTeleport) entityplayer1.connection.teleport(new Location(worldserver1.getWorld(), entityplayer1.getX(), entityplayer1.getY(), entityplayer1.getZ(), entityplayer1.getYRot(), entityplayer1.getXRot())); ++ if (!entityplayer.smoothWorldTeleport) entityplayer1.connection.teleport(new Location(worldserver1.getWorld(), entityplayer1.getX(), entityplayer1.getY(), entityplayer1.getZ(), entityplayer1.getYRot(), entityplayer1.getXRot())); // Slice entityplayer1.setShiftKeyDown(false); // entityplayer1.connection.teleport(entityplayer1.getX(), entityplayer1.getY(), entityplayer1.getZ(), entityplayer1.getYRot(), entityplayer1.getXRot()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ce9aab711f538d1cf333789ba42292d87b700ff9..ec6103e0f553b609bd6fbdc4af19cdd0ad004ed9 100644 +index 0b12669ff17d48e31274f4a69fd795e6dd77d1cf..84bce377e1a9b9358dddd15455b8d849b4a3ae36 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1172,6 +1172,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1162,6 +1162,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + // Paper end } - // Paper end + // Slice start + public void teleportWithoutRespawn(Location location) {