From 06db5d08b08c4f53fea9cb322127b3a3311bbcd9 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Sat, 11 Sep 2021 19:27:48 +0200 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit) (#6589) 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: 44cfe143 SPIGOT-6249: Add Missing Effect Constants CraftBukkit Changes: 14928261 SPIGOT-6249: Add Missing Effect Constants 332335e1 SPIGOT-6731: "Nag author" message in CraftServer lists one author only 6cd975d0 SPIGOT-5732, SPIGOT-6387: Overhaul Hanging entities --- patches/api/0274-Add-missing-effects.patch | 99 +++++++++++++++++-- patches/server/0004-Paper-config-files.patch | 4 +- patches/server/0010-Timings-v2.patch | 8 +- patches/server/0011-Adventure.patch | 26 ++--- .../0022-Player-affects-spawning-API.patch | 4 +- ...024-Further-improve-server-tick-loop.patch | 4 +- ...025-Only-refresh-abilities-if-needed.patch | 4 +- .../0047-Expose-server-CommandMap.patch | 4 +- ...ble-inter-world-teleportation-safety.patch | 4 +- .../0058-Complete-resource-pack-API.patch | 4 +- ...llow-Reloading-of-Custom-Permissions.patch | 4 +- ...th-absorb-values-and-repair-bad-data.patch | 4 +- ...nd-for-setting-passengers-on-players.patch | 4 +- ...87-Implement-PlayerLocaleChangeEvent.patch | 4 +- ...setting-for-proxy-online-mode-status.patch | 4 +- ...2-Allow-Reloading-of-Command-Aliases.patch | 4 +- ...PI-for-Reason-Source-Triggering-play.patch | 4 +- ...n-option-to-prevent-player-names-fro.patch | 4 +- ...oleAppender-for-console-improvements.patch | 4 +- .../server/0143-Basic-PlayerProfile-API.patch | 4 +- .../server/0169-AsyncTabCompleteEvent.patch | 4 +- ...1-Ability-to-apply-mending-to-XP-API.patch | 4 +- .../0186-Player.setPlayerProfile-API.patch | 8 +- .../server/0187-getPlayerUniqueId-API.patch | 4 +- ...91-Flag-to-disable-the-channel-limit.patch | 4 +- ...ld.spawnParticle-API-and-add-Builder.patch | 4 +- ...Item-entities-with-World.spawnEntity.patch | 4 +- .../0220-InventoryCloseEvent-Reason-API.patch | 4 +- ...dd-Early-Warning-Feature-to-WatchDog.patch | 4 +- ...60-Asynchronous-chunk-IO-and-loading.patch | 4 +- ...e-attack-cooldown-methods-for-Player.patch | 4 +- .../server/0263-Improve-death-events.patch | 4 +- ...ault-permission-message-configurable.patch | 4 +- ...-replace-OfflinePlayer-getLastPlayed.patch | 8 +- ...-remove-from-being-called-on-Players.patch | 4 +- ...isPrimaryThread-and-MinecraftServer-.patch | 4 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 4 +- ...335-Expose-the-internal-current-tick.patch | 4 +- ...46-Dont-send-unnecessary-sign-update.patch | 18 ++++ ...hanging-entities-that-are-not-ItemFr.patch | 25 ----- ...or-when-player-hand-set-to-empty-typ.patch | 2 +- ...No-Tick-view-distance-implementation.patch | 4 +- ...83-Prevent-teleporting-dead-entities.patch | 2 +- ...-Add-tick-times-API-and-mspt-command.patch | 4 +- ...398-Expose-MinecraftServer-isRunning.patch | 4 +- .../0402-Improved-Watchdog-Support.patch | 4 +- ...-Implement-Player-Client-Options-API.patch | 2 +- ...Load-Chunks-for-Login-Asynchronously.patch | 2 +- .../0422-Implement-Brigadier-Mojang-API.patch | 2 +- ...PickItem-Packet-and-kick-for-invalid.patch | 2 +- patches/server/0425-Expose-game-version.patch | 2 +- .../server/0428-misc-debugging-dumps.patch | 6 +- .../server/0430-Implement-Mob-Goal-API.patch | 4 +- ...Wait-for-Async-Tasks-during-shutdown.patch | 4 +- ...-Plugin-Tickets-to-API-Chunk-Methods.patch | 6 +- ...-desync-in-playerconnection-causing-.patch | 2 +- ...implement-PlayerRecipeBookClickEvent.patch | 2 +- ...65-Add-permission-for-command-blocks.patch | 2 +- ...ld-Difficulty-Remembering-Difficulty.patch | 4 +- ...llow-delegation-to-vanilla-chunk-gen.patch | 4 +- ...k-Priority-Urgency-System-for-Chunks.patch | 10 +- ...ove-range-check-for-block-placing-up.patch | 2 +- ...keLighting-call-to-World-spigot-stri.patch | 4 +- patches/server/0504-Brand-support.patch | 12 +-- .../server/0505-Add-setMaxPlayers-API.patch | 2 +- ...geEvent-not-firing-for-all-use-cases.patch | 2 +- patches/server/0509-Add-moon-phase-API.patch | 2 +- ...ortation-and-cancel-velocity-if-tele.patch | 2 +- ...r-large-move-vectors-crashing-server.patch | 2 +- .../server/0540-Player-elytra-boost-API.patch | 2 +- ...-Add-getOfflinePlayerIfCached-String.patch | 4 +- .../server/0550-Add-API-for-quit-reason.patch | 2 +- .../0554-Expose-world-spawn-angle.patch | 2 +- ...r-spawnParticle-x-y-z-precision-loss.patch | 4 +- .../server/0565-Limit-recipe-packets.patch | 2 +- ...-event-not-being-called-in-adventure.patch | 2 +- .../0587-Added-WorldGameRuleChangeEvent.patch | 6 +- patches/server/0598-Add-sendOpLevel-API.patch | 2 +- .../0606-Added-Vanilla-Entity-Tags.patch | 4 +- ...pport-for-hex-color-codes-in-console.patch | 2 +- .../server/0624-Expose-Tracked-Players.patch | 4 +- ...-using-signs-inside-spawn-protection.patch | 2 +- .../0637-Implement-Keyed-on-World.patch | 10 +- ...ignore-result-of-PlayerEditBookEvent.patch | 2 +- ...ent-suggestion-tooltips-in-AsyncTabC.patch | 2 +- .../0652-Set-area-affect-cloud-rotation.patch | 4 +- ...fix-PlayerItemHeldEvent-firing-twice.patch | 2 +- patches/server/0661-More-World-API.patch | 4 +- ...d-RespawnFlags-to-PlayerRespawnEvent.patch | 2 +- .../server/0677-Add-basic-Datapack-API.patch | 4 +- ...ditions-to-PlayerGameModeChangeEvent.patch | 6 +- ...-option-to-load-extra-plugin-jars-no.patch | 2 +- ...x-and-optimise-world-force-upgrading.patch | 6 +- ...cause-to-Weather-ThunderChangeEvents.patch | 2 +- .../0693-Add-PlayerKickEvent-causes.patch | 12 +-- .../server/0703-Line-Of-Sight-Changes.patch | 2 +- .../0704-add-per-world-spawn-limits.patch | 2 +- ...nect-for-book-edit-is-called-on-main.patch | 2 +- ...etChunkIfLoadedImmediately-in-places.patch | 2 +- .../0715-Adds-PlayerArmSwingEvent.patch | 2 +- ...k-event-leave-message-not-being-sent.patch | 2 +- ...g-for-mobs-immune-to-default-effects.patch | 2 +- .../0725-Add-System.out-err-catcher.patch | 2 +- ...-AFK-kick-while-watching-end-credits.patch | 2 +- .../server/0731-Add-PlayerSetSpawnEvent.patch | 4 +- .../0760-Optimise-general-POI-access.patch | 2 +- .../0769-Do-not-copy-visible-chunks.patch | 2 +- ...0-Replace-player-chunk-loader-system.patch | 8 +- ...on-checking-in-player-move-packet-ha.patch | 2 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 111 files changed, 321 insertions(+), 241 deletions(-) create mode 100644 patches/server/0346-Dont-send-unnecessary-sign-update.patch delete mode 100644 patches/server/0346-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch diff --git a/patches/api/0274-Add-missing-effects.patch b/patches/api/0274-Add-missing-effects.patch index 57086bea9c..8f72589e1e 100644 --- a/patches/api/0274-Add-missing-effects.patch +++ b/patches/api/0274-Add-missing-effects.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Add missing effects diff --git a/src/main/java/org/bukkit/Effect.java b/src/main/java/org/bukkit/Effect.java -index d0c812c72967469122f7f276ced31cfb0e9482dc..0f598fa0560d14b44dcc65205364870c0bbfa0d8 100644 +index cf6b94a52d7638a52337045c1b4e7677a3fbd824..5072c5ed2635f92a6d8048b6e019c8f36338b93c 100644 --- a/src/main/java/org/bukkit/Effect.java +++ b/src/main/java/org/bukkit/Effect.java -@@ -201,6 +201,65 @@ public enum Effect { - * The sound of an enderdragon growling +@@ -307,7 +307,100 @@ public enum Effect { + * block. */ - ENDERDRAGON_GROWL(3001, Type.SOUND), + OXIDISED_COPPER_SCRAPE(3005, Type.VISUAL), + // Paper start - add missing effects + /** + * The sound of a wither spawning @@ -27,50 +27,137 @@ index d0c812c72967469122f7f276ced31cfb0e9482dc..0f598fa0560d14b44dcc65205364870c + END_PORTAL_CREATED_IN_OVERWORLD(1038, Type.SOUND), + /** + * The sound of phantom's bites ++ * ++ * @deprecated use {@link #PHANTOM_BITE} + */ ++ @Deprecated(forRemoval = true) + PHANTOM_BITES(1039, Type.SOUND), + /** + * The sound of zombie converting to drowned zombie ++ * ++ * @deprecated use {@link #ZOMBIE_CONVERTED_TO_DROWNED} + */ ++ @Deprecated(forRemoval = true) + ZOMBIE_CONVERTS_TO_DROWNED(1040, Type.SOUND), + /** + * The sound of a husk converting to zombie by drowning ++ * ++ * @deprecated use {@link #HUSK_CONVERTED_TO_ZOMBIE} + */ ++ @Deprecated(forRemoval = true) + HUSK_CONVERTS_TO_ZOMBIE(1041, Type.SOUND), + /** + * The sound of a grindstone being used ++ * ++ * @deprecated use {@link #GRINDSTONE_USE} + */ ++ @Deprecated(forRemoval = true) + GRINDSTONE_USED(1042, Type.SOUND), + /** + * The sound of a book page being turned ++ * ++ * @deprecated use {@link #BOOK_PAGE_TURN} + */ ++ @Deprecated(forRemoval = true) + BOOK_PAGE_TURNED(1043, Type.SOUND), + /** + * Particles displayed when a composter composts ++ * ++ * @deprecated use {@link #COMPOSTER_FILL_ATTEMPT} + */ ++ @Deprecated(forRemoval = true) + COMPOSTER_COMPOSTS(1500, Type.VISUAL), + /** + * Particles displayed when lava converts a block (either water to stone, or + * removing existing blocks such as torches) ++ * ++ * @deprecated use {@link #LAVA_INTERACT} + */ ++ @Deprecated(forRemoval = true) + LAVA_CONVERTS_BLOCK(1501, Type.VISUAL), + /** + * Particles displayd when a redstone torch burns out ++ * ++ * @deprecated use {@link #REDSTONE_TORCH_BURNOUT} + */ ++ @Deprecated(forRemoval = true) + REDSTONE_TORCH_BURNS_OUT(1502, Type.VISUAL), + /** + * Particles displayed when an ender eye is placed ++ * ++ * @deprecated use {@link #END_PORTAL_FRAME_FILL} + */ ++ @Deprecated(forRemoval = true) + ENDER_EYE_PLACED(1503, Type.VISUAL), + /** + * Particles displayed when an ender dragon destroys block ++ * ++ * @deprecated use {@link #ENDER_DRAGON_DESTROY_BLOCK} + */ ++ @Deprecated(forRemoval = true) + ENDER_DRAGON_DESTROYS_BLOCK(2008, Type.VISUAL), + /** + * Particles displayed when a wet sponge vaporizes in nether. ++ * ++ * @deprecated use {@link #SPONGE_DRY} + */ -+ WET_SPONGE_VAPORIZES_IN_NETHER(2009, Type.VISUAL) -+ // Paper end ++ @Deprecated(forRemoval = true) ++ WET_SPONGE_VAPORIZES_IN_NETHER(2009, Type.VISUAL), ; ++ private static final org.apache.logging.log4j.Logger LOGGER = org.apache.logging.log4j.LogManager.getLogger(); ++ // Paper end private final int id; + private final Type type; +@@ -367,10 +460,22 @@ public enum Effect { + + static { + for (Effect effect : values()) { ++ if (!isDeprecated(effect)) // Paper + BY_ID.put(effect.id, effect); + } + } + ++ // Paper start ++ private static boolean isDeprecated(Effect effect) { ++ try { ++ return Effect.class.getDeclaredField(effect.name()).isAnnotationPresent(Deprecated.class); ++ } catch (NoSuchFieldException e) { ++ LOGGER.error("Error getting effect enum field {}", effect.name(), e); ++ return false; ++ } ++ } ++ // Paper end ++ + /** + * Represents the type of an effect. + */ +diff --git a/src/test/java/org/bukkit/EffectTest.java b/src/test/java/org/bukkit/EffectTest.java +index 54e621e86e8fe3414099494d419929b282b33489..759081f15992e07271567d65250f27f14f6c99c3 100644 +--- a/src/test/java/org/bukkit/EffectTest.java ++++ b/src/test/java/org/bukkit/EffectTest.java +@@ -5,10 +5,24 @@ import static org.junit.Assert.*; + import org.junit.Test; + + public class EffectTest { ++ private static final org.apache.logging.log4j.Logger LOGGER = org.apache.logging.log4j.LogManager.getLogger(); // Paper ++ + @Test + public void getById() { + for (Effect effect : Effect.values()) { ++ if (!isDeprecated(effect)) // Paper + assertThat(Effect.getById(effect.getId()), is(effect)); + } + } ++ ++ // Paper start ++ private static boolean isDeprecated(Effect effect) { ++ try { ++ return Effect.class.getDeclaredField(effect.name()).isAnnotationPresent(Deprecated.class); ++ } catch (NoSuchFieldException e) { ++ LOGGER.error("Error getting effect enum field {}", effect.name(), e); ++ return false; ++ } ++ } ++ // Paper end + } diff --git a/patches/server/0004-Paper-config-files.patch b/patches/server/0004-Paper-config-files.patch index 08c0858bf0..9bf402f1df 100644 --- a/patches/server/0004-Paper-config-files.patch +++ b/patches/server/0004-Paper-config-files.patch @@ -686,7 +686,7 @@ index ae26cf65169fd25520263a3edb93424383fa7bb0..5de52a4c33fd136b43b150b7ed0df770 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4bd0a7923845a402bc3a3dfea998be5f3cbc5518..dee1bf692a2c13d280b54a46137e24376f5b7772 100644 +index 6d38950a957be4eced2bda68d68dd13f3ec4eb1e..1a7269c3a1d4bcc960c508304a2d92c7551c50a7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -820,6 +820,7 @@ public final class CraftServer implements Server { @@ -712,7 +712,7 @@ index 4bd0a7923845a402bc3a3dfea998be5f3cbc5518..dee1bf692a2c13d280b54a46137e2437 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2248,4 +2251,35 @@ public final class CraftServer implements Server { +@@ -2244,4 +2247,35 @@ public final class CraftServer implements Server { return this.spigot; } // Spigot end diff --git a/patches/server/0010-Timings-v2.patch b/patches/server/0010-Timings-v2.patch index 0df8f9657b..a2579ca133 100644 --- a/patches/server/0010-Timings-v2.patch +++ b/patches/server/0010-Timings-v2.patch @@ -1795,10 +1795,10 @@ index b645a2fc839dbf922ce73b23b7d53e9a5fe1a2ee..03190535999d30aea0428631ae576b18 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dee1bf692a2c13d280b54a46137e24376f5b7772..0c430583e4bdc4050e3a278ff500bea3b07c40ee 100644 +index 1a7269c3a1d4bcc960c508304a2d92c7551c50a7..9e8b8512a23578b73ec3599a13932fc34e47e16b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2220,12 +2220,31 @@ public final class CraftServer implements Server { +@@ -2216,12 +2216,31 @@ public final class CraftServer implements Server { private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { @@ -2000,10 +2000,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index da4296ecdc5b37224bc9fd9be426b613f0ec9586..1a6cca634d6b40a6d5f30eda98be3aa72c2569ad 100644 +index 94bbf386aadd1d6e73ee3ff629e8f47c99ba3072..cdc13a38400e1e564c1d2388f0fb46e6d66f55d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1825,6 +1825,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1826,6 +1826,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { packet.components = components; CraftPlayer.this.getHandle().connection.send(packet); } diff --git a/patches/server/0011-Adventure.patch b/patches/server/0011-Adventure.patch index d9cd91ec9f..8b22c0daa4 100644 --- a/patches/server/0011-Adventure.patch +++ b/patches/server/0011-Adventure.patch @@ -1713,7 +1713,7 @@ index 7a0e7961df1e62b311ea2ecc76d7343a8646723b..6859fafa42527d45366018f737c19e6c } collection = icons; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0c430583e4bdc4050e3a278ff500bea3b07c40ee..ca36773a4a01d050a79bfabeb5aba854a86be168 100644 +index 9e8b8512a23578b73ec3599a13932fc34e47e16b..6fe94bfe110fe105acb05d4c5f2a328ba9ee476e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -579,8 +579,10 @@ public final class CraftServer implements Server { @@ -1727,7 +1727,7 @@ index 0c430583e4bdc4050e3a278ff500bea3b07c40ee..ca36773a4a01d050a79bfabeb5aba854 } @Override -@@ -1406,7 +1408,15 @@ public final class CraftServer implements Server { +@@ -1402,7 +1404,15 @@ public final class CraftServer implements Server { return this.configuration.getInt("settings.spawn-radius", -1); } @@ -1743,7 +1743,7 @@ index 0c430583e4bdc4050e3a278ff500bea3b07c40ee..ca36773a4a01d050a79bfabeb5aba854 public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); } -@@ -1559,7 +1569,20 @@ public final class CraftServer implements Server { +@@ -1555,7 +1565,20 @@ public final class CraftServer implements Server { } @Override @@ -1764,7 +1764,7 @@ index 0c430583e4bdc4050e3a278ff500bea3b07c40ee..ca36773a4a01d050a79bfabeb5aba854 Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1567,14 +1590,14 @@ public final class CraftServer implements Server { +@@ -1563,14 +1586,14 @@ public final class CraftServer implements Server { } } @@ -1781,7 +1781,7 @@ index 0c430583e4bdc4050e3a278ff500bea3b07c40ee..ca36773a4a01d050a79bfabeb5aba854 for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -1810,6 +1833,14 @@ public final class CraftServer implements Server { +@@ -1806,6 +1829,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } @@ -1796,7 +1796,7 @@ index 0c430583e4bdc4050e3a278ff500bea3b07c40ee..ca36773a4a01d050a79bfabeb5aba854 @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type); -@@ -1822,13 +1853,28 @@ public final class CraftServer implements Server { +@@ -1818,13 +1849,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } @@ -1825,7 +1825,7 @@ index 0c430583e4bdc4050e3a278ff500bea3b07c40ee..ca36773a4a01d050a79bfabeb5aba854 public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -1872,6 +1918,12 @@ public final class CraftServer implements Server { +@@ -1868,6 +1914,12 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } @@ -1838,7 +1838,7 @@ index 0c430583e4bdc4050e3a278ff500bea3b07c40ee..ca36773a4a01d050a79bfabeb5aba854 @Override public String getMotd() { return this.console.getMotd(); -@@ -2300,5 +2352,15 @@ public final class CraftServer implements Server { +@@ -2296,5 +2348,15 @@ public final class CraftServer implements Server { return null; } } @@ -2152,7 +2152,7 @@ index 042691349dd5659e8db526199641cbcfa21c6005..841dbf4a86b19d7c8ea41930ecb1f88c player.initMenu(container); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1a6cca634d6b40a6d5f30eda98be3aa72c2569ad..32f555a846d34e086e75c027a92a48eaf556df94 100644 +index cdc13a38400e1e564c1d2388f0fb46e6d66f55d1..2f604c883ee1341ad3896b74de01f4dc9537ecfa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -244,14 +244,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2265,7 +2265,7 @@ index 1a6cca634d6b40a6d5f30eda98be3aa72c2569ad..32f555a846d34e086e75c027a92a48ea @Override public void setCompassTarget(Location loc) { if (this.getHandle().connection == null) return; -@@ -571,6 +607,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -572,6 +608,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } @@ -2299,7 +2299,7 @@ index 1a6cca634d6b40a6d5f30eda98be3aa72c2569ad..32f555a846d34e086e75c027a92a48ea @Override public void sendSignChange(Location loc, String[] lines) { this.sendSignChange(loc, lines, DyeColor.BLACK); -@@ -598,14 +661,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -599,14 +662,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } Component[] components = CraftSign.sanitizeLines(lines); @@ -2317,7 +2317,7 @@ index 1a6cca634d6b40a6d5f30eda98be3aa72c2569ad..32f555a846d34e086e75c027a92a48ea } @Override -@@ -1705,6 +1769,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1706,6 +1770,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance; } @@ -2330,7 +2330,7 @@ index 1a6cca634d6b40a6d5f30eda98be3aa72c2569ad..32f555a846d34e086e75c027a92a48ea @Override public int getPing() { return this.getHandle().latency; -@@ -1733,6 +1803,160 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1734,6 +1804,160 @@ public class CraftPlayer extends CraftHumanEntity implements Player { getInventory().setItemInMainHand(hand); } diff --git a/patches/server/0022-Player-affects-spawning-API.patch b/patches/server/0022-Player-affects-spawning-API.patch index 2ef9312545..6b5dd2634a 100644 --- a/patches/server/0022-Player-affects-spawning-API.patch +++ b/patches/server/0022-Player-affects-spawning-API.patch @@ -117,10 +117,10 @@ index 389985e022b82c675fb21f363422471bd15b84b0..849616d9ad140285f7aa4d2ffafd6371 for(Player player : this.players()) { if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 32f555a846d34e086e75c027a92a48eaf556df94..6de88d1ea0ff50dddb65a65fa53fba6ee475e886 100644 +index 2f604c883ee1341ad3896b74de01f4dc9537ecfa..a5acdd11ae36f8268623149cbb047dddaf65acec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1783,8 +1783,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1784,8 +1784,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { return this.getHandle().locale; diff --git a/patches/server/0024-Further-improve-server-tick-loop.patch b/patches/server/0024-Further-improve-server-tick-loop.patch index e0a84ad88d..03d1d9fd46 100644 --- a/patches/server/0024-Further-improve-server-tick-loop.patch +++ b/patches/server/0024-Further-improve-server-tick-loop.patch @@ -144,10 +144,10 @@ index c24c5c39103fd2ae37711b745fef74c44ac18565..d9a305f39a4004f28ad5f8c35db1016c this.startMetricsRecordingTick(); this.profiler.push("tick"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7d197e075874c70207e1068e300eaf5f076745a8..66420a9b1e917856b94343b90859323a1d84341f 100644 +index fca1032a38684191655282fb0815f3988b48da4b..a1735f595930b382b4339f26b5fff34114a1ed98 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2268,6 +2268,17 @@ public final class CraftServer implements Server { +@@ -2264,6 +2264,17 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } diff --git a/patches/server/0025-Only-refresh-abilities-if-needed.patch b/patches/server/0025-Only-refresh-abilities-if-needed.patch index 393298e426..9e62d9f689 100644 --- a/patches/server/0025-Only-refresh-abilities-if-needed.patch +++ b/patches/server/0025-Only-refresh-abilities-if-needed.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Only refresh abilities if needed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6de88d1ea0ff50dddb65a65fa53fba6ee475e886..2685ebf77191a797bc1835a3da13a238ce9432a7 100644 +index a5acdd11ae36f8268623149cbb047dddaf65acec..014baa5684b05d6fc536ce96c2da604a0f1e3b4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1452,12 +1452,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1453,12 +1453,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setFlying(boolean value) { diff --git a/patches/server/0047-Expose-server-CommandMap.patch b/patches/server/0047-Expose-server-CommandMap.patch index 610842ecbe..629489db49 100644 --- a/patches/server/0047-Expose-server-CommandMap.patch +++ b/patches/server/0047-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 022326790d61d163a47b2fe888627f0625405755..45c6c2bc739c842d27cb9c4a87c2154f6e447d17 100644 +index 171efcdaa81351df1028f8efdc1b181fabe7feb2..dd69c7962a90c4ff4b251599f95fa01525855abc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1906,6 +1906,7 @@ public final class CraftServer implements Server { +@@ -1902,6 +1902,7 @@ public final class CraftServer implements Server { return this.helpMap; } diff --git a/patches/server/0053-Configurable-inter-world-teleportation-safety.patch b/patches/server/0053-Configurable-inter-world-teleportation-safety.patch index 529377a4ff..fde469b45f 100644 --- a/patches/server/0053-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0053-Configurable-inter-world-teleportation-safety.patch @@ -30,10 +30,10 @@ index d80de8777ae4d21256578c039e3fbe65ca9ade7c..1fc5b40f59a7edb25b0bd95f205a8fdf + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e1c3472c15a85d47d8abd24ddb69fd99c8a6b3e2..e9d03d4540fa39b783f808c81f397e25f653bec2 100644 +index fdaa6448cf60c9fff6cf058eb6b0bb6e4ed18385..50cce9e9a67dc2e6722f87b06907b37402158700 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -890,7 +890,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -891,7 +891,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (fromWorld == toWorld) { entity.connection.teleport(to); } else { diff --git a/patches/server/0058-Complete-resource-pack-API.patch b/patches/server/0058-Complete-resource-pack-API.patch index b39a616847..58f3083700 100644 --- a/patches/server/0058-Complete-resource-pack-API.patch +++ b/patches/server/0058-Complete-resource-pack-API.patch @@ -23,7 +23,7 @@ index 22c2c121bbcc7b0e15d73d20c9cc83d5fb085e5f..edb66e8c4507597ec8c35883460f88de @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e9d03d4540fa39b783f808c81f397e25f653bec2..ada3e4af93c96221355b5ad777527ae16cfa866d 100644 +index 50cce9e9a67dc2e6722f87b06907b37402158700..90317fef5ebfb44e0f200a75569edfec7a5d9b1a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -126,6 +126,7 @@ import org.bukkit.metadata.MetadataValue; @@ -45,7 +45,7 @@ index e9d03d4540fa39b783f808c81f397e25f653bec2..ada3e4af93c96221355b5ad777527ae1 public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -1901,6 +1906,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1902,6 +1907,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean getAffectsSpawning() { return this.getHandle().affectsSpawning; } diff --git a/patches/server/0061-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0061-Allow-Reloading-of-Custom-Permissions.patch index e08323ed1d..541c513416 100644 --- a/patches/server/0061-Allow-Reloading-of-Custom-Permissions.patch +++ b/patches/server/0061-Allow-Reloading-of-Custom-Permissions.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 451d911334dc1477c99f94705632c9fd5184ddb0..c2b16834ccddda703973dc7ad85f584e2625a57f 100644 +index abf985bb0b485dde6a843ef18b24caff329f5843..19d9af4e41ff6f14d894ab05ddcb4614fc56f2d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2398,5 +2398,23 @@ public final class CraftServer implements Server { +@@ -2394,5 +2394,23 @@ public final class CraftServer implements Server { } return this.adventure$audiences; } diff --git a/patches/server/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch index 67790b86b8..0adcb52112 100644 --- a/patches/server/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,10 +44,10 @@ index 41fce2aeb130c970702a95f0fb37dcd07e566fa9..41b5b04d8609ff7172579313be4ae993 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ada3e4af93c96221355b5ad777527ae16cfa866d..b3d49b652790a98f1426498a555c6826f8657c63 100644 +index 90317fef5ebfb44e0f200a75569edfec7a5d9b1a..fd84e753131806696ad664e61951112545e51270 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1708,6 +1708,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1709,6 +1709,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/patches/server/0083-Workaround-for-setting-passengers-on-players.patch b/patches/server/0083-Workaround-for-setting-passengers-on-players.patch index 0aa723fb70..433b53962c 100644 --- a/patches/server/0083-Workaround-for-setting-passengers-on-players.patch +++ b/patches/server/0083-Workaround-for-setting-passengers-on-players.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Workaround for setting passengers on players SPIGOT-1915 & GH-114 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b3d49b652790a98f1426498a555c6826f8657c63..77dd225e6cc20b4faa55aab2b52af77298639e0e 100644 +index fd84e753131806696ad664e61951112545e51270..9ebeb5c646c8876c52c7e231f315b9c1622f3fad 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -900,6 +900,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -901,6 +901,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return true; } diff --git a/patches/server/0087-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0087-Implement-PlayerLocaleChangeEvent.patch index 8a8867d9b5..5f6c84047a 100644 --- a/patches/server/0087-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0087-Implement-PlayerLocaleChangeEvent.patch @@ -30,10 +30,10 @@ index 2b7dd46fe090db01aa4d1f0e4211bed769ad76dc..7e7bbb6817ceddbbb90c1ac45d8e974d this.locale = packet.language; // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 77dd225e6cc20b4faa55aab2b52af77298639e0e..90ab0a3967aaa5394e2b09c4c9879b84e82ece76 100644 +index 9ebeb5c646c8876c52c7e231f315b9c1622f3fad..78e150121a4ebffeed8690dd69b13e386d7485d4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1905,8 +1905,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1906,8 +1906,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { diff --git a/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch index 25d55eeff3..75fc241c95 100644 --- a/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch +++ b/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch @@ -67,10 +67,10 @@ index f6cb864c45f960811acc02829d1f7883b916de29..8703f97dc2f392b136c6851aa09b607c } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8020aa53077e3eb09a866257c5648bf10ecc9227..a461bfaeaa414ae3bfed96913140b22b81fe255d 100644 +index 80d0234cb72f16a4ce37ed9a4a458012a0f05e36..120c649365ee2567a5bab75c8d389b2455b0377e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1649,7 +1649,7 @@ public final class CraftServer implements Server { +@@ -1645,7 +1645,7 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch index ea4e2ca376..60f0f27801 100644 --- a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a461bfaeaa414ae3bfed96913140b22b81fe255d..ba13ecb7148e1b7227b4eeaa36cedaed163200af 100644 +index 120c649365ee2567a5bab75c8d389b2455b0377e..54d8cbbb610fa198db8dfcca691fb0435d4134a2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2424,5 +2424,24 @@ public final class CraftServer implements Server { +@@ -2420,5 +2420,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/patches/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index ad86a596ca..d73aa681dc 100644 --- a/patches/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -301,10 +301,10 @@ index 61ab07be21759df7b92ba71e31c537860f4e5dc2..265fa3cb96b7d39194a7e83b8b77b811 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 38d2da5e39aeb27904702fc4035e456c1f7bb704..eca9a9eb3d8dcd51ee9e96f2f4050bf51bc58b48 100644 +index f426891c2ca5688d46b47d5c050314b9e6f6c349..d0873200aa8f66648e23fc2954a27a83289e748c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -867,7 +867,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -870,7 +870,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { diff --git a/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch index 174be96b60..16c4bd1638 100644 --- a/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch @@ -20,10 +20,10 @@ index ac2c7977e2110feb7c45856d6f0a0ccdeedfcdb3..fa6beae844354849e73a45cf38eb1f06 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ba13ecb7148e1b7227b4eeaa36cedaed163200af..2c0753ed9403de5c875a023baafa74b6db5ef80a 100644 +index 54d8cbbb610fa198db8dfcca691fb0435d4134a2..17024e3dee35750884caaa1ca5254f21cfdb6806 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2443,5 +2443,10 @@ public final class CraftServer implements Server { +@@ -2439,5 +2439,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch index ba685c4108..c9fabbefa7 100644 --- a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -244,7 +244,7 @@ index 24add1cd1f865012c5382548e415218d481ecefe..31dccb0b4ab60d6cedf236fc7d51a363 this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2c0753ed9403de5c875a023baafa74b6db5ef80a..a573643b089e02b9d7be3b2aaa2afbbf352af705 100644 +index 17024e3dee35750884caaa1ca5254f21cfdb6806..c9104042fae30d8d33eb278803d80c2696668058 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -47,7 +47,6 @@ import java.util.function.Consumer; @@ -263,7 +263,7 @@ index 2c0753ed9403de5c875a023baafa74b6db5ef80a..a573643b089e02b9d7be3b2aaa2afbbf import net.minecraft.server.MinecraftServer; import net.minecraft.server.bossevents.CustomBossEvent; import net.minecraft.server.commands.ReloadCommand; -@@ -1233,9 +1233,13 @@ public final class CraftServer implements Server { +@@ -1229,9 +1229,13 @@ public final class CraftServer implements Server { return this.logger; } diff --git a/patches/server/0143-Basic-PlayerProfile-API.patch b/patches/server/0143-Basic-PlayerProfile-API.patch index a04ed5c161..d6b343f70f 100644 --- a/patches/server/0143-Basic-PlayerProfile-API.patch +++ b/patches/server/0143-Basic-PlayerProfile-API.patch @@ -491,7 +491,7 @@ index 6e1b7d5b20e9f6ed1b650eb9d6ac9f8c4867b4b7..61405c2b53e03a4b83e2c70c6e4d3739 String s1 = name.toLowerCase(Locale.ROOT); GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d76f2b4ff336819687f233a50b69ca1cafe5c0a5..fecf75505ecad65855306ed02065d417a479c022 100644 +index e224186a0b4eb2dc22d2727c9afedf028b6bf784..3ee6e3b81eb91fb9f74b5ff55ec10e64db6d8fd5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -241,6 +241,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; @@ -504,7 +504,7 @@ index d76f2b4ff336819687f233a50b69ca1cafe5c0a5..fecf75505ecad65855306ed02065d417 public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -2458,5 +2461,24 @@ public final class CraftServer implements Server { +@@ -2454,5 +2457,24 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions; } diff --git a/patches/server/0169-AsyncTabCompleteEvent.patch b/patches/server/0169-AsyncTabCompleteEvent.patch index d37463432c..f7808d1623 100644 --- a/patches/server/0169-AsyncTabCompleteEvent.patch +++ b/patches/server/0169-AsyncTabCompleteEvent.patch @@ -72,10 +72,10 @@ index cf42d59254f2786bfe8785249ad270d35996417a..8c2242d7e443bee26741608c65d314d8 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fecf75505ecad65855306ed02065d417a479c022..454b87eb16b4c5819a199fa0c3412c9a10a72caa 100644 +index 3ee6e3b81eb91fb9f74b5ff55ec10e64db6d8fd5..226caf084494619436c20bb15a777bb31d9af4ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1993,7 +1993,7 @@ public final class CraftServer implements Server { +@@ -1989,7 +1989,7 @@ public final class CraftServer implements Server { offers = this.tabCompleteChat(player, message); } diff --git a/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch index 56201c71d6..d03b9e79a0 100644 --- a/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch @@ -28,7 +28,7 @@ index 6f25e9f41d93a225acaa6575954967438a6cabbf..d439e8ce87bf7da03683a336941c7673 return true; }); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8abce60db2bfd99aa5bb188dc231edcbde870e92..df9508e3f2272e63a4902687e69df631671584e7 100644 +index cfe2f379f1b2e33523caeaff927c6fed25dcc58d..da472b9881ab8f3699f75b3dd6a3115df4bb5a53 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -61,11 +61,14 @@ import net.minecraft.server.level.ServerPlayer; @@ -46,7 +46,7 @@ index 8abce60db2bfd99aa5bb188dc231edcbde870e92..df9508e3f2272e63a4902687e69df631 import net.minecraft.world.level.GameType; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.entity.SignBlockEntity; -@@ -1208,8 +1211,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1209,8 +1212,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return GameMode.getByValue(this.getHandle().gameMode.getGameModeForPlayer().getId()); } diff --git a/patches/server/0186-Player.setPlayerProfile-API.patch b/patches/server/0186-Player.setPlayerProfile-API.patch index 00b22d9410..92f89faef8 100644 --- a/patches/server/0186-Player.setPlayerProfile-API.patch +++ b/patches/server/0186-Player.setPlayerProfile-API.patch @@ -39,7 +39,7 @@ index 3c8de1d70714a021dbd58894f3fd986bf5d6bde7..cc6f1f94c1a01992dfe29399b346c972 private ItemStack lastItemInMainHand; private final ItemCooldowns cooldowns; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index df9508e3f2272e63a4902687e69df631671584e7..f006b9ba8ebad98b3e679d7049bd9244f72a9348 100644 +index da472b9881ab8f3699f75b3dd6a3115df4bb5a53..3426c1cfac6ad787891185bb1e8fa29edb682dd1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -71,6 +71,7 @@ import net.minecraft.world.item.enchantment.EnchantmentHelper; @@ -50,7 +50,7 @@ index df9508e3f2272e63a4902687e69df631671584e7..f006b9ba8ebad98b3e679d7049bd9244 import net.minecraft.world.level.block.entity.SignBlockEntity; import net.minecraft.world.level.saveddata.maps.MapDecoration; import net.minecraft.world.level.saveddata.maps.MapItemSavedData; -@@ -1339,8 +1340,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1340,8 +1341,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.hiddenPlayers.put(player.getUniqueId(), hidingPlugins); // Remove this player from the hidden player's EntityTrackerEntry @@ -65,7 +65,7 @@ index df9508e3f2272e63a4902687e69df631671584e7..f006b9ba8ebad98b3e679d7049bd9244 ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId()); if (entry != null) { entry.removePlayer(this.getHandle()); -@@ -1381,8 +1387,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1382,8 +1388,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } this.hiddenPlayers.remove(player.getUniqueId()); @@ -80,7 +80,7 @@ index df9508e3f2272e63a4902687e69df631671584e7..f006b9ba8ebad98b3e679d7049bd9244 this.getHandle().connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.ADD_PLAYER, other)); -@@ -1391,6 +1402,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1392,6 +1403,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entry.updatePlayer(this.getHandle()); } } diff --git a/patches/server/0187-getPlayerUniqueId-API.patch b/patches/server/0187-getPlayerUniqueId-API.patch index d5b4ff3399..4ea331da50 100644 --- a/patches/server/0187-getPlayerUniqueId-API.patch +++ b/patches/server/0187-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 454b87eb16b4c5819a199fa0c3412c9a10a72caa..2585e1b58c911ac63e9820d7473a3099abba30b6 100644 +index 226caf084494619436c20bb15a777bb31d9af4ab..f831f196e332604146e95289bf42139241f2bc0e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1651,6 +1651,25 @@ public final class CraftServer implements Server { +@@ -1647,6 +1647,25 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/patches/server/0191-Flag-to-disable-the-channel-limit.patch b/patches/server/0191-Flag-to-disable-the-channel-limit.patch index 8bb50d8265..c5422ab6e7 100644 --- a/patches/server/0191-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0191-Flag-to-disable-the-channel-limit.patch @@ -9,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f006b9ba8ebad98b3e679d7049bd9244f72a9348..1ad37b47a64700f9fd895afb26f8b07c0cad72d5 100644 +index 3426c1cfac6ad787891185bb1e8fa29edb682dd1..d14f4f8a457d62c4fdeaaab4062bc53bdd62d4aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -150,6 +150,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -20,7 +20,7 @@ index f006b9ba8ebad98b3e679d7049bd9244f72a9348..1ad37b47a64700f9fd895afb26f8b07c // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1608,7 +1609,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1609,7 +1610,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void addChannel(String channel) { diff --git a/patches/server/0198-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0198-Expand-World.spawnParticle-API-and-add-Builder.patch index 16e50b1508..e130be19d6 100644 --- a/patches/server/0198-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0198-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -34,10 +34,10 @@ index 26c25b103f08a2e66179d1ed8f450778aa2e539a..86a5a4456be65b94b0c27a0355c3844c if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f5cc3134edfc56885b53fa2efbbff1ab24955f0f..d6a9f43b72d8b135734a17946cb0482c9dffbaec 100644 +index 3a3d128e2c9abbb699f151af5bf28af58653bf1a..f34cfd72b5323ca0a14ef4a20e67cc44c0453ced 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1721,11 +1721,17 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1722,11 +1722,17 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { diff --git a/patches/server/0203-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/patches/server/0203-Allow-spawning-Item-entities-with-World.spawnEntity.patch index af33f6278e..84db4c2d46 100644 --- a/patches/server/0203-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/patches/server/0203-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index eca9a9eb3d8dcd51ee9e96f2f4050bf51bc58b48..aea3fafb093814bfb1e010aa70d138eecc07af93 100644 +index d0873200aa8f66648e23fc2954a27a83289e748c..0d1421555a98b97c30dbb4d95491308e433a81a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -525,6 +525,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -530,6 +530,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { if (Boat.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.vehicle.Boat(world, x, y, z); entity.moveTo(x, y, z, yaw, pitch); diff --git a/patches/server/0220-InventoryCloseEvent-Reason-API.patch b/patches/server/0220-InventoryCloseEvent-Reason-API.patch index 0ff59740c2..83ec1e4fd9 100644 --- a/patches/server/0220-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0220-InventoryCloseEvent-Reason-API.patch @@ -174,10 +174,10 @@ index f1b1d1881d0598503a7ec1022ef5e00f848fb247..460828d29583ee21a7c5b716f9687a82 @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1ad37b47a64700f9fd895afb26f8b07c0cad72d5..067a3990825dd17d2843a5f8d215d19dcaac6806 100644 +index d14f4f8a457d62c4fdeaaab4062bc53bdd62d4aa..592829e14b6965a2ce83c53af4fc0ab9826e3406 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -927,7 +927,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -928,7 +928,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { diff --git a/patches/server/0245-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0245-Add-Early-Warning-Feature-to-WatchDog.patch index 62fc937b8c..e33acfd08f 100644 --- a/patches/server/0245-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/patches/server/0245-Add-Early-Warning-Feature-to-WatchDog.patch @@ -48,7 +48,7 @@ index 74e780212773e0d3cce19cb9c33cdcaa4a708f14..cc4a94669c5f0dee99b6d8cb89650cf0 long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop lastTick = start - TICK_TIME; // Paper diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2585e1b58c911ac63e9820d7473a3099abba30b6..d62f1650a0879e46e6c619c0f7387e0c438430ec 100644 +index f831f196e332604146e95289bf42139241f2bc0e..0c73ed409f96fb8fef721fbfb0592157c2d06b80 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -821,6 +821,7 @@ public final class CraftServer implements Server { @@ -59,7 +59,7 @@ index 2585e1b58c911ac63e9820d7473a3099abba30b6..d62f1650a0879e46e6c619c0f7387e0c this.reloadCount++; this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile()); this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile()); -@@ -936,6 +937,7 @@ public final class CraftServer implements Server { +@@ -932,6 +933,7 @@ public final class CraftServer implements Server { this.enablePlugins(PluginLoadOrder.STARTUP); this.enablePlugins(PluginLoadOrder.POSTWORLD); this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD)); diff --git a/patches/server/0260-Asynchronous-chunk-IO-and-loading.patch b/patches/server/0260-Asynchronous-chunk-IO-and-loading.patch index 99f99c3eb4..ff98218f10 100644 --- a/patches/server/0260-Asynchronous-chunk-IO-and-loading.patch +++ b/patches/server/0260-Asynchronous-chunk-IO-and-loading.patch @@ -3622,10 +3622,10 @@ index e5e138fb23d03eb63e547e74d3e14ec9d96d8107..90f7b06bd2c558be35c4577044fa033e + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d99d019df02f8defb6c5c9082b8c650231c20775..5d0e56a2c8fb6f801643928f8b75e06cdff83a52 100644 +index e7722b8805bbd07473aadee9ea60d18de68ddfad..9b671c90f30d8211469771a29d3c3b78c4627c9c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1784,6 +1784,34 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1785,6 +1785,34 @@ public class CraftWorld extends CraftRegionAccessor implements World { public DragonBattle getEnderDragonBattle() { return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight()); } diff --git a/patches/server/0262-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0262-Expose-attack-cooldown-methods-for-Player.patch index 9215f19588..7fecad99a7 100644 --- a/patches/server/0262-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0262-Expose-attack-cooldown-methods-for-Player.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 067a3990825dd17d2843a5f8d215d19dcaac6806..30357dd7b527c40f9aa42a5873ad21c46d3c2311 100644 +index 592829e14b6965a2ce83c53af4fc0ab9826e3406..d9808ee4fdf19c78d3253782875d1b794eb4b490 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2253,6 +2253,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2254,6 +2254,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { connection.send(new net.minecraft.network.protocol.game.ClientboundOpenBookPacket(net.minecraft.world.InteractionHand.MAIN_HAND)); connection.send(new net.minecraft.network.protocol.game.ClientboundContainerSetSlotPacket(0, stateId, slot, inventory.getSelected())); } diff --git a/patches/server/0263-Improve-death-events.patch b/patches/server/0263-Improve-death-events.patch index d6d46ea779..f4ccbc9216 100644 --- a/patches/server/0263-Improve-death-events.patch +++ b/patches/server/0263-Improve-death-events.patch @@ -277,10 +277,10 @@ index d545349f659b2a164a28d06e9ff0f9fff8fa8ecf..bbde9b758643c087733064a126d90689 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 30357dd7b527c40f9aa42a5873ad21c46d3c2311..6fac6afd5ea4e35f6bb0e9b859fb9b4c608d53a1 100644 +index d9808ee4fdf19c78d3253782875d1b794eb4b490..c3d0a76f24653b610056024ab5368053316eb04e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1868,7 +1868,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1869,7 +1869,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { diff --git a/patches/server/0294-Make-the-default-permission-message-configurable.patch b/patches/server/0294-Make-the-default-permission-message-configurable.patch index 21bbeb9c56..be3a4f4cd5 100644 --- a/patches/server/0294-Make-the-default-permission-message-configurable.patch +++ b/patches/server/0294-Make-the-default-permission-message-configurable.patch @@ -42,10 +42,10 @@ index 4b4fbd8747740111cc2e25f0c4d29a29926a3a1b..26ac165135ef53cec9e065ae1c15220a Object val = config.get("settings.save-player-data"); if (val instanceof Boolean) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d64bcc0aafb918e82e881f6503ce8311e78a3f6f..0d2f6680af8a678b4b07a6a3ba809128c69563e7 100644 +index 0b6ea1fde85313a44b7d390c6c92be053af7305d..cdbdeef88b0b54ae3d51aec5641aac3b216a1cf3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2483,6 +2483,11 @@ public final class CraftServer implements Server { +@@ -2479,6 +2479,11 @@ public final class CraftServer implements Server { return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions; } diff --git a/patches/server/0302-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0302-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index 215c97d0d1..4b87cc0442 100644 --- a/patches/server/0302-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0302-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -106,7 +106,7 @@ index 93de44b05a698515457052c9c684c4ef44c5cc40..b20bfe5ab165bf86985e5ff2f93f415d public Location getBedSpawnLocation() { CompoundTag data = this.getData(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6fac6afd5ea4e35f6bb0e9b859fb9b4c608d53a1..baa11848b63442fed7160a94e6447d6dd63d8ac6 100644 +index c3d0a76f24653b610056024ab5368053316eb04e..6afe4428761073d11c86a1e853598bd10ac55b5f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -151,6 +151,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -117,7 +117,7 @@ index 6fac6afd5ea4e35f6bb0e9b859fb9b4c608d53a1..baa11848b63442fed7160a94e6447d6d // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1512,6 +1513,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1513,6 +1514,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = firstPlayed; } @@ -136,7 +136,7 @@ index 6fac6afd5ea4e35f6bb0e9b859fb9b4c608d53a1..baa11848b63442fed7160a94e6447d6d public void readExtraData(CompoundTag nbttagcompound) { this.hasPlayedBefore = true; if (nbttagcompound.contains("bukkit")) { -@@ -1534,6 +1547,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1535,6 +1548,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setExtraData(CompoundTag nbttagcompound) { @@ -145,7 +145,7 @@ index 6fac6afd5ea4e35f6bb0e9b859fb9b4c608d53a1..baa11848b63442fed7160a94e6447d6d if (!nbttagcompound.contains("bukkit")) { nbttagcompound.put("bukkit", new CompoundTag()); } -@@ -1548,6 +1563,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1549,6 +1564,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { data.putLong("firstPlayed", this.getFirstPlayed()); data.putLong("lastPlayed", System.currentTimeMillis()); data.putString("lastKnownName", handle.getScoreboardName()); diff --git a/patches/server/0305-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0305-Block-Entity-remove-from-being-called-on-Players.patch index aca3ebf010..cc38541a9c 100644 --- a/patches/server/0305-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0305-Block-Entity-remove-from-being-called-on-Players.patch @@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to be unintentional in the few cases we've seen so far. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index baa11848b63442fed7160a94e6447d6dd63d8ac6..bef6868a33144e0e4f44bba1ba13d6310e291523 100644 +index 6afe4428761073d11c86a1e853598bd10ac55b5f..aa0d348df457fb2b340955fdb9a98029f8557fec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2300,6 +2300,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2301,6 +2301,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetCooldown() { getHandle().resetAttackStrengthTicker(); } diff --git a/patches/server/0328-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/patches/server/0328-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch index 9e80e8f0a9..92c3a89118 100644 --- a/patches/server/0328-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch +++ b/patches/server/0328-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch @@ -29,10 +29,10 @@ index 16a5fb9ef97170f337ede5da0646dcdd233f7b4e..bdfa5c65e41edb7cdcb5a0fff54d9384 public boolean isDebugging() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0d2f6680af8a678b4b07a6a3ba809128c69563e7..46a1c05f3321ddf34efc4f5fb6b607188a8c4939 100644 +index cdbdeef88b0b54ae3d51aec5641aac3b216a1cf3..4581483c0a4834501040add9f1314fe9cb29d133 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1982,7 +1982,7 @@ public final class CraftServer implements Server { +@@ -1978,7 +1978,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { diff --git a/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 1b5ab27999..6a1076ecdc 100644 --- a/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -221,10 +221,10 @@ index 4185e6bcf9b2bb65b2a0fa5fcbeb5684615169a7..dbc29442f2b2ad3ea451910f4944e901 this.maxCount = i * i; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 642c0d98f3fc8a4a4caf75f4e67dfaadbde7dd70..b53c4296afca4755b39ec2e08d258a84984fb394 100644 +index 823da324da549b33b3db36e2063391b6c56b42cd..5a44c904bd952a5d6b64b0f1331bd4e3496e0b4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1334,15 +1334,21 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1335,15 +1335,21 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setKeepSpawnInMemory(boolean keepLoaded) { diff --git a/patches/server/0335-Expose-the-internal-current-tick.patch b/patches/server/0335-Expose-the-internal-current-tick.patch index 04b3ad7204..d087ed75fd 100644 --- a/patches/server/0335-Expose-the-internal-current-tick.patch +++ b/patches/server/0335-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 46a1c05f3321ddf34efc4f5fb6b607188a8c4939..34c8228de823c777209c6506451222d82ad80738 100644 +index 4581483c0a4834501040add9f1314fe9cb29d133..2e4433d1c1474a8b686ed85ba3b09d3640f9e1d2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2506,5 +2506,10 @@ public final class CraftServer implements Server { +@@ -2502,5 +2502,10 @@ public final class CraftServer implements Server { } return new com.destroystokyo.paper.profile.CraftPlayerProfile(uuid, name); } diff --git a/patches/server/0346-Dont-send-unnecessary-sign-update.patch b/patches/server/0346-Dont-send-unnecessary-sign-update.patch new file mode 100644 index 0000000000..1565c5c289 --- /dev/null +++ b/patches/server/0346-Dont-send-unnecessary-sign-update.patch @@ -0,0 +1,18 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nassim Jahnke +Date: Sat, 11 Sep 2021 11:56:51 +0200 +Subject: [PATCH] Dont send unnecessary sign update + + +diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +index ea19697d8e60a993979d61a4d0f89110fd2cc574..84dc3599cdccc29efdf15b987640f3243007639a 100644 +--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +@@ -2843,6 +2843,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser + + if (!tileentitysign.isEditable() || !this.player.getUUID().equals(tileentitysign.getPlayerWhoMayEdit())) { + ServerGamePacketListenerImpl.LOGGER.warn("Player {} just tried to change non-editable sign", this.player.getName().getString()); ++ if (this.player.distanceToSqr(blockposition.getX(), blockposition.getY(), blockposition.getZ()) < 32 * 32) // Paper + this.send(tileentity.getUpdatePacket()); // CraftBukkit + return; + } diff --git a/patches/server/0346-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch b/patches/server/0346-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch deleted file mode 100644 index 2aca94e8ee..0000000000 --- a/patches/server/0346-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MisterErwin -Date: Wed, 30 Oct 2019 16:57:54 +0100 -Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and - can not face UP or DOWN - - -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index aea3fafb093814bfb1e010aa70d138eecc07af93..def6668424af23ad3a16fa726919f7c06ec20295 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -816,7 +816,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor { - height = 9; - } - -- BlockFace[] faces = new BlockFace[]{BlockFace.EAST, BlockFace.NORTH, BlockFace.WEST, BlockFace.SOUTH, BlockFace.UP, BlockFace.DOWN}; -+ // Paper start - In addition to d65a2576e40e58c8e446b330febe6799d13a604f do not check UP/DOWN for non item frames -+ // BlockFace[] faces = new BlockFace[]{BlockFace.EAST, BlockFace.NORTH, BlockFace.WEST, BlockFace.SOUTH, BlockFace.UP, BlockFace.DOWN}; -+ BlockFace[] faces = (ItemFrame.class.isAssignableFrom(clazz)) -+ ? new BlockFace[]{BlockFace.EAST, BlockFace.NORTH, BlockFace.WEST, BlockFace.SOUTH, BlockFace.UP, BlockFace.DOWN} -+ : new BlockFace[]{BlockFace.EAST, BlockFace.NORTH, BlockFace.WEST, BlockFace.SOUTH}; -+ // Paper end - final BlockPos pos = new BlockPos(x, y, z); - for (BlockFace dir : faces) { - net.minecraft.world.level.block.state.BlockState nmsBlock = this.getHandle().getBlockState(pos.relative(CraftBlock.blockFaceToNotch(dir))); diff --git a/patches/server/0349-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch b/patches/server/0349-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch index 4d35d0d106..d7d99ca938 100644 --- a/patches/server/0349-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch +++ b/patches/server/0349-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch @@ -7,7 +7,7 @@ Fixes an AssertionError when setting the player's item in hand to null or a new Fixes GH-2718 diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ea19697d8e60a993979d61a4d0f89110fd2cc574..b3527b60028663695f2b2e3d4e01d772ac23fbb5 100644 +index 84dc3599cdccc29efdf15b987640f3243007639a..98a0034f4e19a244c22619236cd8ab76b05df1bb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1720,6 +1720,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0368-No-Tick-view-distance-implementation.patch b/patches/server/0368-No-Tick-view-distance-implementation.patch index f4a6ed0bf9..f49c44cf93 100644 --- a/patches/server/0368-No-Tick-view-distance-implementation.patch +++ b/patches/server/0368-No-Tick-view-distance-implementation.patch @@ -658,10 +658,10 @@ index 515e28eea8cbab261320352ee0db9b877807f3ed..83ed84f89a036d3768b22a36bc8a0bfc this.postProcessing[i].clear(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2a5d4e4efe9ea9fcac4c6079c28a020b4c2df118..d347f8f3bfe7ed0492dd0cd593837ee2246527aa 100644 +index 25361c7f0493de56575f6422a86dd0a9406c289f..05eb3dd86a8d24d7e8746cd18efe5e1415ad1a53 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1895,10 +1895,39 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1896,10 +1896,39 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Spigot start @Override public int getViewDistance() { diff --git a/patches/server/0383-Prevent-teleporting-dead-entities.patch b/patches/server/0383-Prevent-teleporting-dead-entities.patch index 4e0fbaea9f..9bfafffc9a 100644 --- a/patches/server/0383-Prevent-teleporting-dead-entities.patch +++ b/patches/server/0383-Prevent-teleporting-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent teleporting dead entities diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b3527b60028663695f2b2e3d4e01d772ac23fbb5..67ede93bed3fafcb548c394397bcc2ca7a86c39f 100644 +index 98a0034f4e19a244c22619236cd8ab76b05df1bb..d4fac789cebd17e7b244002a7382d94cf0d80bb2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1480,6 +1480,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0397-Add-tick-times-API-and-mspt-command.patch b/patches/server/0397-Add-tick-times-API-and-mspt-command.patch index 599d20cb6d..6330bfb5cd 100644 --- a/patches/server/0397-Add-tick-times-API-and-mspt-command.patch +++ b/patches/server/0397-Add-tick-times-API-and-mspt-command.patch @@ -146,10 +146,10 @@ index 273774ad46b993212a0cd4cfa81f0e02807c442e..c4f52d4511476f8fd904e4eb790b07d3 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 34c8228de823c777209c6506451222d82ad80738..04a88d0f82733eae21c4b4727911f4a9b0f146f1 100644 +index 2e4433d1c1474a8b686ed85ba3b09d3640f9e1d2..c706fbe6ce3110b377c2c36c5c6ab0761f0667dc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2344,6 +2344,16 @@ public final class CraftServer implements Server { +@@ -2340,6 +2340,16 @@ public final class CraftServer implements Server { net.minecraft.server.MinecraftServer.getServer().tps15.getAverage() }; } diff --git a/patches/server/0398-Expose-MinecraftServer-isRunning.patch b/patches/server/0398-Expose-MinecraftServer-isRunning.patch index f8cca30008..7aa2067951 100644 --- a/patches/server/0398-Expose-MinecraftServer-isRunning.patch +++ b/patches/server/0398-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 04a88d0f82733eae21c4b4727911f4a9b0f146f1..79bfa802220d94008c3b19020e0633ba7eba1d89 100644 +index c706fbe6ce3110b377c2c36c5c6ab0761f0667dc..685f96a7beef1bfddbe1750b1b5bb32fdc12a983 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2521,5 +2521,10 @@ public final class CraftServer implements Server { +@@ -2517,5 +2517,10 @@ public final class CraftServer implements Server { public int getCurrentTick() { return net.minecraft.server.MinecraftServer.currentTick; } diff --git a/patches/server/0402-Improved-Watchdog-Support.patch b/patches/server/0402-Improved-Watchdog-Support.patch index a06725e3e5..9a0a64aace 100644 --- a/patches/server/0402-Improved-Watchdog-Support.patch +++ b/patches/server/0402-Improved-Watchdog-Support.patch @@ -323,10 +323,10 @@ index 016c2302d8bcf121eafd1be7eb4f3b206dbdbeec..1de1566b76c73ddfaf7e022296068db0 final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ()); net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 79bfa802220d94008c3b19020e0633ba7eba1d89..bb1eaf69b9b32e81f5fd32add9cb37a2e92181d2 100644 +index 685f96a7beef1bfddbe1750b1b5bb32fdc12a983..a9f58486cb9656542f7e870ee4e4c8b5c4fc384a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1982,7 +1982,7 @@ public final class CraftServer implements Server { +@@ -1978,7 +1978,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { diff --git a/patches/server/0411-Implement-Player-Client-Options-API.patch b/patches/server/0411-Implement-Player-Client-Options-API.patch index 29298ae9c3..d2f507b394 100644 --- a/patches/server/0411-Implement-Player-Client-Options-API.patch +++ b/patches/server/0411-Implement-Player-Client-Options-API.patch @@ -97,7 +97,7 @@ index 3d17c7c5c35133c3aefce9c2706b669011c6edac..18945fe987f7464f9bc1a55145b3456c if (getMainArm() != packet.getMainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index bef6868a33144e0e4f44bba1ba13d6310e291523..a3951039eeb1f5d3529213ca02d11c97d499be38 100644 +index aa0d348df457fb2b340955fdb9a98029f8557fec..a3ab8ab4bbcca4783a2546bbeb180e04e07e9a5d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -521,6 +521,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0416-Load-Chunks-for-Login-Asynchronously.patch b/patches/server/0416-Load-Chunks-for-Login-Asynchronously.patch index 4c7ea5bcf8..24eb86da0e 100644 --- a/patches/server/0416-Load-Chunks-for-Login-Asynchronously.patch +++ b/patches/server/0416-Load-Chunks-for-Login-Asynchronously.patch @@ -37,7 +37,7 @@ index be677d437d17b74c6188ce1bd5fc6fdc228fd92f..78fbb4c3e52e900956ae0811aaf934c8 public static final TicketType UNKNOWN = TicketType.create("unknown", Comparator.comparingLong(ChunkPos::toLong), 1); public static final TicketType PLUGIN = TicketType.create("plugin", (a, b) -> 0); // CraftBukkit diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 67ede93bed3fafcb548c394397bcc2ca7a86c39f..36815e17d521e420fb04db108a12c2b9d1a9dce8 100644 +index d4fac789cebd17e7b244002a7382d94cf0d80bb2..f585cd4f4682a9d2a6ebc2367a32995d8660d591 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -220,6 +220,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0422-Implement-Brigadier-Mojang-API.patch b/patches/server/0422-Implement-Brigadier-Mojang-API.patch index 12ae4a3f2e..4116c67399 100644 --- a/patches/server/0422-Implement-Brigadier-Mojang-API.patch +++ b/patches/server/0422-Implement-Brigadier-Mojang-API.patch @@ -81,7 +81,7 @@ index 07c4d909324c8aad3a8c5d27811e2c28fe7a91f3..96a33f63024c1f72ab018e1590450583 event.getPlayer().getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 36815e17d521e420fb04db108a12c2b9d1a9dce8..9547869fa430c2e25348c763ea6e709cf2ffcf36 100644 +index f585cd4f4682a9d2a6ebc2367a32995d8660d591..11d9e22c9ef64db62528da73066de8c118565054 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -759,8 +759,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0424-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/server/0424-Validate-PickItem-Packet-and-kick-for-invalid.patch index 6de570d510..7647f74659 100644 --- a/patches/server/0424-Validate-PickItem-Packet-and-kick-for-invalid.patch +++ b/patches/server/0424-Validate-PickItem-Packet-and-kick-for-invalid.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9547869fa430c2e25348c763ea6e709cf2ffcf36..5ec29d1d73a4a828d35cec259469c4929368623f 100644 +index 11d9e22c9ef64db62528da73066de8c118565054..fa291673ab392af499c38d0a3b31bbdb664a3a68 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -876,7 +876,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0425-Expose-game-version.patch b/patches/server/0425-Expose-game-version.patch index b21d071a9d..94ae204ba3 100644 --- a/patches/server/0425-Expose-game-version.patch +++ b/patches/server/0425-Expose-game-version.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose game version diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bb1eaf69b9b32e81f5fd32add9cb37a2e92181d2..72640c2dd945a22e8e562ee6901c9f70ae786816 100644 +index a9f58486cb9656542f7e870ee4e4c8b5c4fc384a..89124225b6cf10a4e370fbb88dca956c6551d4e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -532,6 +532,13 @@ public final class CraftServer implements Server { diff --git a/patches/server/0428-misc-debugging-dumps.patch b/patches/server/0428-misc-debugging-dumps.patch index 686f2ba8f2..26269e1e49 100644 --- a/patches/server/0428-misc-debugging-dumps.patch +++ b/patches/server/0428-misc-debugging-dumps.patch @@ -74,11 +74,11 @@ index bd1203a5b58bac7cccf1f81337fa2967a0e9eb40..6468a675862ee2956308b760012fe25c this.connection.send(new ClientboundDisconnectPacket(chatmessage)); this.connection.disconnect(chatmessage); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 72640c2dd945a22e8e562ee6901c9f70ae786816..59a12fe5d4d2504d99e26c6faaa095d5227cf446 100644 +index 89124225b6cf10a4e370fbb88dca956c6551d4e5..5c5bc6f7184ce604f27183dfe70919c8175e7708 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -939,6 +939,7 @@ public final class CraftServer implements Server { - plugin.getDescription().getName(), +@@ -935,6 +935,7 @@ public final class CraftServer implements Server { + plugin.getDescription().getFullName(), "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); + if (console.isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread(worker.getThread(), "still running"); // Paper diff --git a/patches/server/0430-Implement-Mob-Goal-API.patch b/patches/server/0430-Implement-Mob-Goal-API.patch index 45dd7b6475..58edd29a1c 100644 --- a/patches/server/0430-Implement-Mob-Goal-API.patch +++ b/patches/server/0430-Implement-Mob-Goal-API.patch @@ -798,10 +798,10 @@ index fabd20265863751ad980ee4a697f3f0d47df101f..3a4da2bb86a742985d309eb325dc843a LOOK, JUMP, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 59a12fe5d4d2504d99e26c6faaa095d5227cf446..63c20c0364b39bef033ed1df4278a64dc739995e 100644 +index 5c5bc6f7184ce604f27183dfe70919c8175e7708..fec172291cc2f5544943b3c0f2fe64221ba7d54c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2534,5 +2534,11 @@ public final class CraftServer implements Server { +@@ -2530,5 +2530,11 @@ public final class CraftServer implements Server { public boolean isStopping() { return net.minecraft.server.MinecraftServer.getServer().hasStopped(); } diff --git a/patches/server/0439-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0439-Wait-for-Async-Tasks-during-shutdown.patch index 9a38989479..2f3ca21afb 100644 --- a/patches/server/0439-Wait-for-Async-Tasks-during-shutdown.patch +++ b/patches/server/0439-Wait-for-Async-Tasks-during-shutdown.patch @@ -22,10 +22,10 @@ index 99555bb8b6f5b8c2bb9a15ee469fe2dd3b980f67..f5ef6219b20d5b7af81537dab8d9815d // CraftBukkit end if (this.getConnection() != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 63c20c0364b39bef033ed1df4278a64dc739995e..b39db457d459e048962712aa2173b3e8b608b37f 100644 +index fec172291cc2f5544943b3c0f2fe64221ba7d54c..7cc882333b28fe79d3445c0b9d1bb5e71e2418eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -948,6 +948,35 @@ public final class CraftServer implements Server { +@@ -944,6 +944,35 @@ public final class CraftServer implements Server { org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload } diff --git a/patches/server/0454-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0454-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index 003a1c8b58..db557fa72e 100644 --- a/patches/server/0454-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/patches/server/0454-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -22,7 +22,7 @@ wants it to collect even faster, they can restore that setting back to 1 instead Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b39db457d459e048962712aa2173b3e8b608b37f..3a0338f3f02686f6497b5bf7156131c54d8fd2cd 100644 +index 7cc882333b28fe79d3445c0b9d1bb5e71e2418eb..ecc65fe9783f0f369695edc1183f3d49686d66f9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -360,7 +360,7 @@ public final class CraftServer implements Server { @@ -44,7 +44,7 @@ index b39db457d459e048962712aa2173b3e8b608b37f..3a0338f3f02686f6497b5bf7156131c5 this.printSaveWarning = false; console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d347f8f3bfe7ed0492dd0cd593837ee2246527aa..44f13b8bce4c6b9b3a74b2d9d868104feb3c24bf 100644 +index 05eb3dd86a8d24d7e8746cd18efe5e1415ad1a53..9d7b33c71525b11afa0c2f2371d2ff8fe656cf28 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -262,8 +262,21 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -111,7 +111,7 @@ index d347f8f3bfe7ed0492dd0cd593837ee2246527aa..44f13b8bce4c6b9b3a74b2d9d868104f world.getChunkSource().getChunk(x, z, ChunkStatus.FULL, true); return true; // Paper end -@@ -1887,6 +1903,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1888,6 +1904,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.world.getChunkSource().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> { net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) either.left().orElse(null); diff --git a/patches/server/0460-Prevent-position-desync-in-playerconnection-causing-.patch b/patches/server/0460-Prevent-position-desync-in-playerconnection-causing-.patch index 7a9b8b0ce7..ebae03640a 100644 --- a/patches/server/0460-Prevent-position-desync-in-playerconnection-causing-.patch +++ b/patches/server/0460-Prevent-position-desync-in-playerconnection-causing-.patch @@ -14,7 +14,7 @@ behaviour, we need to move all of this dangerous logic outside of the move call and into an appropriate place in the tick method. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5ec29d1d73a4a828d35cec259469c4929368623f..c9bc5e355411d9b6d7cabab6cb8d96bfefe635a5 100644 +index fa291673ab392af499c38d0a3b31bbdb664a3a68..6ed7a2cd6a18ffb925e511045d5e0a6c5b45d2de 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1325,6 +1325,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0463-Add-and-implement-PlayerRecipeBookClickEvent.patch b/patches/server/0463-Add-and-implement-PlayerRecipeBookClickEvent.patch index b35d574906..3fd4febeea 100644 --- a/patches/server/0463-Add-and-implement-PlayerRecipeBookClickEvent.patch +++ b/patches/server/0463-Add-and-implement-PlayerRecipeBookClickEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add and implement PlayerRecipeBookClickEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c9bc5e355411d9b6d7cabab6cb8d96bfefe635a5..d6fc3ed5339f974b826123d4833045527007ae6e 100644 +index 6ed7a2cd6a18ffb925e511045d5e0a6c5b45d2de..bdc3402648d85b435ae4feb3c7aaf1af5ef476fa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2763,9 +2763,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0465-Add-permission-for-command-blocks.patch b/patches/server/0465-Add-permission-for-command-blocks.patch index bb60f00fec..85ced8804f 100644 --- a/patches/server/0465-Add-permission-for-command-blocks.patch +++ b/patches/server/0465-Add-permission-for-command-blocks.patch @@ -18,7 +18,7 @@ index 31e3534d6e15f91d781fabb0670e53ef66cb8977..784e6c2db5bb346408948cff8ac3cc9b return false; } else if (this.player.blockActionRestricted((Level) this.level, pos, this.gameModeForPlayer)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d6fc3ed5339f974b826123d4833045527007ae6e..15b16f94736b250e1e4207498a42043901dd8f1b 100644 +index bdc3402648d85b435ae4feb3c7aaf1af5ef476fa..7bd2a88de8eaf9d72d9424a39d5df2600bed7e58 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -787,7 +787,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0468-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0468-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index 5f47fb0958..858fd98261 100644 --- a/patches/server/0468-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0468-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -63,10 +63,10 @@ index 8098875a5c4146dec81f5daed0e34ddfe17a26c6..286863b7eb9ee0389154304e61942dd6 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 15b16f94736b250e1e4207498a42043901dd8f1b..ae3465cd5be426f3bddc3552b6aad6cad8c8ee25 100644 +index 7bd2a88de8eaf9d72d9424a39d5df2600bed7e58..c0ae236619bbdf9293fbf1c4a1764a785d16a67b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3021,7 +3021,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3022,7 +3022,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) { diff --git a/patches/server/0485-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0485-Allow-delegation-to-vanilla-chunk-gen.patch index a66a5da5ee..37051637c2 100644 --- a/patches/server/0485-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/server/0485-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3a0338f3f02686f6497b5bf7156131c54d8fd2cd..31007c49f0fd627024307fd67b121e9a1f657aa2 100644 +index ecc65fe9783f0f369695edc1183f3d49686d66f9..f150b3558783c70b63114e3c9e23767b16ba4564 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2176,6 +2176,32 @@ public final class CraftServer implements Server { +@@ -2172,6 +2172,32 @@ public final class CraftServer implements Server { return new OldCraftChunkData(world); } diff --git a/patches/server/0487-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/server/0487-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 1ae75ad745..e25f50c17e 100644 --- a/patches/server/0487-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/patches/server/0487-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -1424,7 +1424,7 @@ index 8770fe0db46b01e8b608637df4f1a669a3f4cdde..3c1698ba0d3bc412ab957777d9b5211d private final String name; private final Comparator comparator; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ae3465cd5be426f3bddc3552b6aad6cad8c8ee25..91df850e66aa14b13a679357e02e2f74dc653628 100644 +index c0ae236619bbdf9293fbf1c4a1764a785d16a67b..36a69fb0a9cd81ceb0f9cbe6549fc89bd643c77c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1545,6 +1545,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -1509,10 +1509,10 @@ index a84b75a53a0324fab9aeb9b80bf74eb0a84ecd2e..d580f0375cce5e995c024f1b0cd4843b org.bukkit.event.world.ChunkUnloadEvent unloadEvent = new org.bukkit.event.world.ChunkUnloadEvent(this.bukkitChunk, this.isUnsaved()); server.getPluginManager().callEvent(unloadEvent); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 44f13b8bce4c6b9b3a74b2d9d868104feb3c24bf..4b70f3ad3a300dc099c15c70ba846e043d728e11 100644 +index 9d7b33c71525b11afa0c2f2371d2ff8fe656cf28..ddaeee92af57247e0cdf674a80c1ddaf9556d02a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1901,6 +1901,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1902,6 +1902,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { return future; } @@ -1526,10 +1526,10 @@ index 44f13b8bce4c6b9b3a74b2d9d868104feb3c24bf..4b70f3ad3a300dc099c15c70ba846e04 net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) either.left().orElse(null); if (chunk != null) addTicket(x, z); // Paper diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a3951039eeb1f5d3529213ca02d11c97d499be38..9ce4ebc9a0ddeefdc9fb3a7bd91be77aeb075011 100644 +index a3ab8ab4bbcca4783a2546bbeb180e04e07e9a5d..ac57fe602e4ee8908fba36410f39a8d27a4db50a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -895,6 +895,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -896,6 +896,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new UnsupportedOperationException("Cannot set rotation of players. Consider teleporting instead."); } diff --git a/patches/server/0493-Move-range-check-for-block-placing-up.patch b/patches/server/0493-Move-range-check-for-block-placing-up.patch index 3539918f55..89a6189814 100644 --- a/patches/server/0493-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0493-Move-range-check-for-block-placing-up.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 91df850e66aa14b13a679357e02e2f74dc653628..03ad0c0365f85a1536fb35bfdf08d6d44240df80 100644 +index 36a69fb0a9cd81ceb0f9cbe6549fc89bd643c77c..7f4673bb2809729e3722300173a10ec5922fcc76 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1673,17 +1673,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0498-Add-missing-strikeLighting-call-to-World-spigot-stri.patch b/patches/server/0498-Add-missing-strikeLighting-call-to-World-spigot-stri.patch index f98d2cae6a..c102291270 100644 --- a/patches/server/0498-Add-missing-strikeLighting-call-to-World-spigot-stri.patch +++ b/patches/server/0498-Add-missing-strikeLighting-call-to-World-spigot-stri.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing strikeLighting call to diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4b70f3ad3a300dc099c15c70ba846e043d728e11..2606c4009c92e6b781d21de18ca6dbb809ec6215 100644 +index ddaeee92af57247e0cdf674a80c1ddaf9556d02a..c8e11309fecb4b07fa971c13fee8012fd221f7d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1972,6 +1972,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1973,6 +1973,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() ); lightning.visualOnly = true; lightning.isSilent = isSilent; diff --git a/patches/server/0504-Brand-support.patch b/patches/server/0504-Brand-support.patch index cc13c5df2e..65b7edbc16 100644 --- a/patches/server/0504-Brand-support.patch +++ b/patches/server/0504-Brand-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348ccc04c705b 100644 +index 7f4673bb2809729e3722300173a10ec5922fcc76..c05ced79e5bf6d2900f0479db3150e76e3874ba0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -4,6 +4,7 @@ import com.google.common.collect.Lists; @@ -33,7 +33,7 @@ index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348cc public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.server = server; this.connection = connection; -@@ -2981,6 +2985,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2982,6 +2986,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private static final ResourceLocation CUSTOM_REGISTER = new ResourceLocation("register"); private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); @@ -42,7 +42,7 @@ index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348cc @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); -@@ -3008,6 +3014,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3009,6 +3015,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser try { byte[] data = new byte[packet.data.readableBytes()]; packet.data.readBytes(data); @@ -58,7 +58,7 @@ index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348cc this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); -@@ -3017,6 +3032,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3018,6 +3033,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } @@ -72,10 +72,10 @@ index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348cc return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9ce4ebc9a0ddeefdc9fb3a7bd91be77aeb075011..7257c8fedb6937d925dea592a69fd56ddd05c50d 100644 +index ac57fe602e4ee8908fba36410f39a8d27a4db50a..0aff206c6c7d2b81f683c814a3876e3b9226f382 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2441,6 +2441,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2442,6 +2442,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0505-Add-setMaxPlayers-API.patch b/patches/server/0505-Add-setMaxPlayers-API.patch index 0ba5412666..d5a2dbb39a 100644 --- a/patches/server/0505-Add-setMaxPlayers-API.patch +++ b/patches/server/0505-Add-setMaxPlayers-API.patch @@ -18,7 +18,7 @@ index 9a73364f4d56f3a7cecb27bc8034166b8f5731b9..4d1d5dacb175e7059a6af036432ef891 private boolean allowCheatsForAllPlayers; private static final boolean ALLOW_LOGOUTIVATOR = false; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 31007c49f0fd627024307fd67b121e9a1f657aa2..ff10c186939e4d77e7efdbd469531a1b00698508 100644 +index f150b3558783c70b63114e3c9e23767b16ba4564..b3d31570fdd9954cee8d600da3ab57eb520a4171 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -627,6 +627,13 @@ public final class CraftServer implements Server { diff --git a/patches/server/0508-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0508-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 79b5b0317c..3ed7944347 100644 --- a/patches/server/0508-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0508-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -17,7 +17,7 @@ index 86d060691405401fe8ae8ae8ef59322ee841b196..1b13c67441c46208a9b2adde5ca109f9 // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig.keepLoadedRange, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2606c4009c92e6b781d21de18ca6dbb809ec6215..b19e58f55ddd463e3e3f27680456207d66a08ed4 100644 +index c8e11309fecb4b07fa971c13fee8012fd221f7d9..885c5179a3fba962d91c55e7971d04c696911c64 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -243,11 +243,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0509-Add-moon-phase-API.patch b/patches/server/0509-Add-moon-phase-API.patch index 5e1e8aa45d..5a958be3e4 100644 --- a/patches/server/0509-Add-moon-phase-API.patch +++ b/patches/server/0509-Add-moon-phase-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b19e58f55ddd463e3e3f27680456207d66a08ed4..7e9a24a9f96cd36f883730e602babbc857971b36 100644 +index 885c5179a3fba962d91c55e7971d04c696911c64..48cb3bd3016d33d1b168de2a1ecf33ae52b38181 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -181,6 +181,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0522-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0522-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index a8431a1a44..c7b88b3336 100644 --- a/patches/server/0522-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0522-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,7 +9,7 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 27fc9ec7183b100dcfc755d41b3348ccc04c705b..a6a14c6d3eb6d77997e1763e2dd451e0718511ea 100644 +index c05ced79e5bf6d2900f0479db3150e76e3874ba0..c791013aac43061453d13ce50f4864b3be1251e3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -681,7 +681,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0533-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0533-Fix-for-large-move-vectors-crashing-server.patch index dcfd6189ba..eb89c809b1 100644 --- a/patches/server/0533-Fix-for-large-move-vectors-crashing-server.patch +++ b/patches/server/0533-Fix-for-large-move-vectors-crashing-server.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix for large move vectors crashing server Check movement distance also based on current position. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a6a14c6d3eb6d77997e1763e2dd451e0718511ea..eb723a356217d21352b82485050d316291e669ca 100644 +index c791013aac43061453d13ce50f4864b3be1251e3..53738cc1c1b38a9c961ac9ea39671cc705dc909b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -506,20 +506,31 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0540-Player-elytra-boost-API.patch b/patches/server/0540-Player-elytra-boost-API.patch index 7e21328374..38d4aa1c5e 100644 --- a/patches/server/0540-Player-elytra-boost-API.patch +++ b/patches/server/0540-Player-elytra-boost-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7257c8fedb6937d925dea592a69fd56ddd05c50d..2b24575e19cd1b24c259711bfd4e6cae6492f927 100644 +index 0aff206c6c7d2b81f683c814a3876e3b9226f382..d2d9d6291da0252928d9e212efed75ee24175f08 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -539,6 +539,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0543-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0543-Add-getOfflinePlayerIfCached-String.patch index 7906064288..2d7267da64 100644 --- a/patches/server/0543-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/server/0543-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ff10c186939e4d77e7efdbd469531a1b00698508..7084349cf214e150c610c991bfcbafdced59da56 100644 +index b3d31570fdd9954cee8d600da3ab57eb520a4171..f5a57059b4a605bafcd203fbfeaf81cbdc2f58e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1746,6 +1746,28 @@ public final class CraftServer implements Server { +@@ -1742,6 +1742,28 @@ public final class CraftServer implements Server { return result; } diff --git a/patches/server/0550-Add-API-for-quit-reason.patch b/patches/server/0550-Add-API-for-quit-reason.patch index f21914428d..0bc11a4cf5 100644 --- a/patches/server/0550-Add-API-for-quit-reason.patch +++ b/patches/server/0550-Add-API-for-quit-reason.patch @@ -37,7 +37,7 @@ index d4ab5061026eaff96b917427fd278ae06e103c6d..ed1076e7d9ea9fd0e2e7504726b21bf2 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index eb723a356217d21352b82485050d316291e669ca..e30e02d64f49bc086ac978abbc18e5050135d0c9 100644 +index 53738cc1c1b38a9c961ac9ea39671cc705dc909b..19f2751ed35ea7157b5f4b8c30b3328710967be6 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -443,6 +443,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0554-Expose-world-spawn-angle.patch b/patches/server/0554-Expose-world-spawn-angle.patch index cff888aa4a..d795f9d78f 100644 --- a/patches/server/0554-Expose-world-spawn-angle.patch +++ b/patches/server/0554-Expose-world-spawn-angle.patch @@ -18,7 +18,7 @@ index 76e21498b6cfd1c9a601a55e1483eb8dfd892c2e..3e7c9716b6d05859e7d63d9c7b9616f8 Player respawnPlayer = entityplayer1.getBukkitEntity(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7e9a24a9f96cd36f883730e602babbc857971b36..f1596d51eb1e025430eb861542729d80f977dd4d 100644 +index 48cb3bd3016d33d1b168de2a1ecf33ae52b38181..2979eb18175d3093c7ce0d353d74ef03c05b5529 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -234,7 +234,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0556-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0556-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 3a6360408d..33a8d5c66a 100644 --- a/patches/server/0556-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0556-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2b24575e19cd1b24c259711bfd4e6cae6492f927..77a74b47ffe9c9d02daae74a770427ec1da450a8 100644 +index d2d9d6291da0252928d9e212efed75ee24175f08..496330ddbf5a558e9053987f6817edb6f6e5ddb2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2067,7 +2067,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2068,7 +2068,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (data != null && !particle.getDataType().isInstance(data)) { throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass()); } diff --git a/patches/server/0565-Limit-recipe-packets.patch b/patches/server/0565-Limit-recipe-packets.patch index 09d8e0726c..f9b187d4ac 100644 --- a/patches/server/0565-Limit-recipe-packets.patch +++ b/patches/server/0565-Limit-recipe-packets.patch @@ -23,7 +23,7 @@ index 4747eb55decd797c7872028997f4e22d15c5a661..ff337f7f5317f30b65e1b40c11c17834 public static boolean velocityOnlineMode; public static byte[] velocitySecretKey; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e30e02d64f49bc086ac978abbc18e5050135d0c9..f7af847e826058cb533fc5f507efaa87cb10b562 100644 +index 19f2751ed35ea7157b5f4b8c30b3328710967be6..cda4fba2003fc35021b0cece9ade9cf8e3fce422 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -231,6 +231,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0582-Fix-interact-event-not-being-called-in-adventure.patch b/patches/server/0582-Fix-interact-event-not-being-called-in-adventure.patch index 9cfe84c8f1..4d887b62a4 100644 --- a/patches/server/0582-Fix-interact-event-not-being-called-in-adventure.patch +++ b/patches/server/0582-Fix-interact-event-not-being-called-in-adventure.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix interact event not being called in adventure Call PlayerInteractEvent when left-clicking on a block in adventure mode diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f7af847e826058cb533fc5f507efaa87cb10b562..dc810551c25a481a491101d4e1e4c84563c2e9fc 100644 +index cda4fba2003fc35021b0cece9ade9cf8e3fce422..9141b04fd67522cfcea26b3b740d1ea4eebd2dbe 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1725,7 +1725,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0587-Added-WorldGameRuleChangeEvent.patch b/patches/server/0587-Added-WorldGameRuleChangeEvent.patch index 915ffd2eb1..d1bd626853 100644 --- a/patches/server/0587-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0587-Added-WorldGameRuleChangeEvent.patch @@ -64,10 +64,10 @@ index 888d812118c15c212284687ae5842a94f5715d52..e7ca5d6fb8922e7e8065864f736b0605 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f1596d51eb1e025430eb861542729d80f977dd4d..620e854f4f0ed55d6752c38ad85feaabe05b6d19 100644 +index 2979eb18175d3093c7ce0d353d74ef03c05b5529..b0b6695c8b0e4e40410e9b28ba93c5769e049aba 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1706,8 +1706,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1707,8 +1707,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule)) return false; @@ -82,7 +82,7 @@ index f1596d51eb1e025430eb861542729d80f977dd4d..620e854f4f0ed55d6752c38ad85feaab handle.onChanged(this.getHandle().getServer()); return true; } -@@ -1742,8 +1747,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1743,8 +1748,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule.getName())) return false; diff --git a/patches/server/0598-Add-sendOpLevel-API.patch b/patches/server/0598-Add-sendOpLevel-API.patch index a3a0281d75..7c119e5c30 100644 --- a/patches/server/0598-Add-sendOpLevel-API.patch +++ b/patches/server/0598-Add-sendOpLevel-API.patch @@ -32,7 +32,7 @@ index 6f6b0460516da49fa0d0b5dd0dcd554bb03b9fe3..4662c7461a9d9a7f7989003ec00d4bd9 // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 77a74b47ffe9c9d02daae74a770427ec1da450a8..7194729b60240bead26ba22962f4389f24751046 100644 +index 496330ddbf5a558e9053987f6817edb6f6e5ddb2..2ec9cfbd665bc2dd7c731ab5603073d21b1a2977 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -553,6 +553,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0606-Added-Vanilla-Entity-Tags.patch b/patches/server/0606-Added-Vanilla-Entity-Tags.patch index 390732b11b..aa53ce4718 100644 --- a/patches/server/0606-Added-Vanilla-Entity-Tags.patch +++ b/patches/server/0606-Added-Vanilla-Entity-Tags.patch @@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..6271586368c65250c887739d04c5fccf + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7084349cf214e150c610c991bfcbafdced59da56..5b95bb1d1361740f5605873fb707980bb911e6a3 100644 +index f5a57059b4a605bafcd203fbfeaf81cbdc2f58e5..bca12654736aa4134e634607753b0268cc69eccb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2365,6 +2365,11 @@ public final class CraftServer implements Server { +@@ -2361,6 +2361,11 @@ public final class CraftServer implements Server { Preconditions.checkArgument(clazz == org.bukkit.Fluid.class, "Fluid namespace must have fluid type"); return (org.bukkit.Tag) new CraftFluidTag(FluidTags.getAllTags(), key); diff --git a/patches/server/0623-Add-support-for-hex-color-codes-in-console.patch b/patches/server/0623-Add-support-for-hex-color-codes-in-console.patch index bcd20a6201..6014cbf10e 100644 --- a/patches/server/0623-Add-support-for-hex-color-codes-in-console.patch +++ b/patches/server/0623-Add-support-for-hex-color-codes-in-console.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add support for hex color codes in console Converts upstream's hex color code legacy format into actual hex color codes in the console. diff --git a/build.gradle.kts b/build.gradle.kts -index 3cffe7e7a09595f7aa200d146c68207946544bc7..77754f4de68ca0e5acf6252ae0b1210d7ce79ec8 100644 +index 12c2681e0abef8ea4981deec431a9269df6cea54..dc17410ac88e9f069a48ce7eb94b7cbec8e61c74 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -40,6 +40,7 @@ dependencies { diff --git a/patches/server/0624-Expose-Tracked-Players.patch b/patches/server/0624-Expose-Tracked-Players.patch index f5d5bb097d..d7cd8d8231 100644 --- a/patches/server/0624-Expose-Tracked-Players.patch +++ b/patches/server/0624-Expose-Tracked-Players.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose Tracked Players diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7194729b60240bead26ba22962f4389f24751046..dfbe64980060e661ae8e049604b8e90a8e13dcae 100644 +index 2ec9cfbd665bc2dd7c731ab5603073d21b1a2977..b3305deb28c99e2f1cc08e04da7be18bfe891f02 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2360,6 +2360,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2361,6 +2361,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0636-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0636-Allow-using-signs-inside-spawn-protection.patch index 313f32abf1..7a944ac598 100644 --- a/patches/server/0636-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0636-Allow-using-signs-inside-spawn-protection.patch @@ -20,7 +20,7 @@ index e53b6515ca427b90f21441cf142ecde6e986058d..1da69d56f0b58708d4c85e76307b7252 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index dc810551c25a481a491101d4e1e4c84563c2e9fc..9451283c228637e56426e883f9e0aa5392e64dab 100644 +index 9141b04fd67522cfcea26b3b740d1ea4eebd2dbe..b06e38f916434dc585f24c041f359b532002cc3c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1714,7 +1714,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0637-Implement-Keyed-on-World.patch b/patches/server/0637-Implement-Keyed-on-World.patch index b7da65c097..0c39e7712d 100644 --- a/patches/server/0637-Implement-Keyed-on-World.patch +++ b/patches/server/0637-Implement-Keyed-on-World.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement Keyed on World diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5b95bb1d1361740f5605873fb707980bb911e6a3..69e03f48af3f08701e124cb4576233aff1faa323 100644 +index bca12654736aa4134e634607753b0268cc69eccb..847dc9ef6d490386c419d536247e322b49e41e96 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1182,7 +1182,7 @@ public final class CraftServer implements Server { +@@ -1178,7 +1178,7 @@ public final class CraftServer implements Server { } else if (name.equals(levelName + "_the_end")) { worldKey = net.minecraft.world.level.Level.END; } else { @@ -17,7 +17,7 @@ index 5b95bb1d1361740f5605873fb707980bb911e6a3..69e03f48af3f08701e124cb4576233af } ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, dimensionmanager, this.getServer().progressListenerFactory.create(11), -@@ -1274,6 +1274,15 @@ public final class CraftServer implements Server { +@@ -1270,6 +1270,15 @@ public final class CraftServer implements Server { return null; } @@ -34,10 +34,10 @@ index 5b95bb1d1361740f5605873fb707980bb911e6a3..69e03f48af3f08701e124cb4576233af // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 620e854f4f0ed55d6752c38ad85feaabe05b6d19..368c762f6a3aa0476ff629d29ca6195f6727cc70 100644 +index b0b6695c8b0e4e40410e9b28ba93c5769e049aba..fe085df2fecadf6cd28a16beda0ec032edaa2570 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1929,6 +1929,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1930,6 +1930,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { return java.util.concurrent.CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk()); }, net.minecraft.server.MinecraftServer.getServer()); } diff --git a/patches/server/0644-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0644-Don-t-ignore-result-of-PlayerEditBookEvent.patch index 2d6fdc3bed..04c0767239 100644 --- a/patches/server/0644-Don-t-ignore-result-of-PlayerEditBookEvent.patch +++ b/patches/server/0644-Don-t-ignore-result-of-PlayerEditBookEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9451283c228637e56426e883f9e0aa5392e64dab..3fc7b714ded94dbc36488f1c8365a97235c9684c 100644 +index b06e38f916434dc585f24c041f359b532002cc3c..70c01b24b5059fa1d3d56b5ae5423a19144fce93 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1177,7 +1177,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0648-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch b/patches/server/0648-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch index 64ba11d37b..e884c9e4a3 100644 --- a/patches/server/0648-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch +++ b/patches/server/0648-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Allow for Component suggestion tooltips in diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3fc7b714ded94dbc36488f1c8365a97235c9684c..01cf3449072a243e6acf64b268c64016115178f1 100644 +index 70c01b24b5059fa1d3d56b5ae5423a19144fce93..7543354f18a46c52022b90318373071fe7da913c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -763,12 +763,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0652-Set-area-affect-cloud-rotation.patch b/patches/server/0652-Set-area-affect-cloud-rotation.patch index 2361c098e7..2fa381a6bb 100644 --- a/patches/server/0652-Set-area-affect-cloud-rotation.patch +++ b/patches/server/0652-Set-area-affect-cloud-rotation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Set area affect cloud rotation diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index def6668424af23ad3a16fa726919f7c06ec20295..2c0f643064b85b03323a971cfb2f36e646570f4d 100644 +index 0d1421555a98b97c30dbb4d95491308e433a81a3..fe7d73470773179f8254928f8e3cdc19f64e9dd7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -882,6 +882,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -880,6 +880,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity.moveTo(location.getX(), location.getY(), location.getZ()); } else if (AreaEffectCloud.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.AreaEffectCloud(world, x, y, z); diff --git a/patches/server/0659-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0659-fix-PlayerItemHeldEvent-firing-twice.patch index f52faac36f..947645bd3d 100644 --- a/patches/server/0659-fix-PlayerItemHeldEvent-firing-twice.patch +++ b/patches/server/0659-fix-PlayerItemHeldEvent-firing-twice.patch @@ -5,7 +5,7 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 01cf3449072a243e6acf64b268c64016115178f1..31ce3cdfa40b0abd2ba85a100cc7def5b0f9c65e 100644 +index 7543354f18a46c52022b90318373071fe7da913c..7ea60ced8fc10430c2564913ac80bee47b395326 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1918,6 +1918,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0661-More-World-API.patch b/patches/server/0661-More-World-API.patch index b1ec0a25e3..2344ffa0c8 100644 --- a/patches/server/0661-More-World-API.patch +++ b/patches/server/0661-More-World-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 368c762f6a3aa0476ff629d29ca6195f6727cc70..0bdd49c84e97bdd6c491fd54da749d65598d4b7c 100644 +index fe085df2fecadf6cd28a16beda0ec032edaa2570..d79aec050701b43e029606ee181c9ac5236a08c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1875,6 +1875,65 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1876,6 +1876,65 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (nearest == null) ? null : new Location(this, nearest.getX(), nearest.getY(), nearest.getZ()); } diff --git a/patches/server/0666-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/server/0666-add-RespawnFlags-to-PlayerRespawnEvent.patch index be945dd193..3ca9c9c09e 100644 --- a/patches/server/0666-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/server/0666-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 31ce3cdfa40b0abd2ba85a100cc7def5b0f9c65e..cfcffcb5c61a8a549c9a33367d2d5c4e0cd9e9ea 100644 +index 7ea60ced8fc10430c2564913ac80bee47b395326..9070424222daacd2174da71b898ee90dea0ea3c5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2452,7 +2452,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0677-Add-basic-Datapack-API.patch b/patches/server/0677-Add-basic-Datapack-API.patch index 2023a52d38..39fb3dd543 100644 --- a/patches/server/0677-Add-basic-Datapack-API.patch +++ b/patches/server/0677-Add-basic-Datapack-API.patch @@ -92,7 +92,7 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 69e03f48af3f08701e124cb4576233aff1faa323..25cf42f67f4b413933cd73960737f6ad43750c7b 100644 +index 847dc9ef6d490386c419d536247e322b49e41e96..b833a9eb958eeccc642869d669b3a63583d0fffa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -281,6 +281,7 @@ public final class CraftServer implements Server { @@ -111,7 +111,7 @@ index 69e03f48af3f08701e124cb4576233aff1faa323..25cf42f67f4b413933cd73960737f6ad } public boolean getCommandBlockOverride(String command) { -@@ -2638,5 +2640,11 @@ public final class CraftServer implements Server { +@@ -2634,5 +2636,11 @@ public final class CraftServer implements Server { public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return mobGoals; } diff --git a/patches/server/0679-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0679-additions-to-PlayerGameModeChangeEvent.patch index 991c3c97a9..aba44435cf 100644 --- a/patches/server/0679-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0679-additions-to-PlayerGameModeChangeEvent.patch @@ -126,7 +126,7 @@ index da2ae74b6f5875200e22c42ed07431016a90845e..35d05cc4bddea5b168a6498add1de9bc } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index cfcffcb5c61a8a549c9a33367d2d5c4e0cd9e9ea..2be99856c6c734eea9096427a99df2ab70bdbba3 100644 +index 9070424222daacd2174da71b898ee90dea0ea3c5..06bdfd91167de980b30463bd4ba972e39f441193 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2461,7 +2461,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -139,10 +139,10 @@ index cfcffcb5c61a8a549c9a33367d2d5c4e0cd9e9ea..2be99856c6c734eea9096427a99df2ab } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index dfbe64980060e661ae8e049604b8e90a8e13dcae..a1b9601729fef9ddb277cddc9576d29756bdf251 100644 +index b3305deb28c99e2f1cc08e04da7be18bfe891f02..dd238588bfab67ee0f3a9eec6cbf35f1bfdadddb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1255,7 +1255,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1256,7 +1256,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/server/0682-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0682-Add-command-line-option-to-load-extra-plugin-jars-no.patch index 87bd476311..00c540011b 100644 --- a/patches/server/0682-Add-command-line-option-to-load-extra-plugin-jars-no.patch +++ b/patches/server/0682-Add-command-line-option-to-load-extra-plugin-jars-no.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 25cf42f67f4b413933cd73960737f6ad43750c7b..dd4034960972e125c54ad56a4bf3052ec98101c4 100644 +index b833a9eb958eeccc642869d669b3a63583d0fffa..4d330d1f71448cb9cbeb14cff04b48fdf18d3298 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -400,8 +400,13 @@ public final class CraftServer implements Server { diff --git a/patches/server/0683-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0683-Fix-and-optimise-world-force-upgrading.patch index b6dc09b49d..a2a2f95b40 100644 --- a/patches/server/0683-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0683-Fix-and-optimise-world-force-upgrading.patch @@ -352,10 +352,10 @@ index 43510774d489bfdd30f10d521e424fa1363b8919..6496108953effae82391b5c1ea6fdec8 return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ())); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dd4034960972e125c54ad56a4bf3052ec98101c4..5e8fb79384c6af845b57051ed0244ec8e835822b 100644 +index 4d330d1f71448cb9cbeb14cff04b48fdf18d3298..15f38a0d0cd8de4f80b4360a22537ec478ebb77e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1158,14 +1158,7 @@ public final class CraftServer implements Server { +@@ -1154,14 +1154,7 @@ public final class CraftServer implements Server { } worlddata.checkName(name); worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().isPresent()); @@ -371,7 +371,7 @@ index dd4034960972e125c54ad56a4bf3052ec98101c4..5e8fb79384c6af845b57051ed0244ec8 long j = BiomeManager.obfuscateSeed(creator.seed()); List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); -@@ -1194,6 +1187,14 @@ public final class CraftServer implements Server { +@@ -1190,6 +1183,14 @@ public final class CraftServer implements Server { } } diff --git a/patches/server/0689-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0689-Add-cause-to-Weather-ThunderChangeEvents.patch index 98338c4e3a..19d9c8fb08 100644 --- a/patches/server/0689-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0689-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -104,7 +104,7 @@ index cd840dc4a8ca432868fb3e9c912ea928e5303e0d..4d0af984490b556a9911c3b8fdca1e16 if (weather.isCancelled()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0bdd49c84e97bdd6c491fd54da749d65598d4b7c..bfa5ff07faca4728c42062b81be298b91d07ef04 100644 +index d79aec050701b43e029606ee181c9ac5236a08c6..b91a4968540d2dca4702582eb231b925bd6709e1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1168,7 +1168,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0693-Add-PlayerKickEvent-causes.patch b/patches/server/0693-Add-PlayerKickEvent-causes.patch index df8f46dc0c..659e49b732 100644 --- a/patches/server/0693-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0693-Add-PlayerKickEvent-causes.patch @@ -57,7 +57,7 @@ index 708ac03d5a849bf09c49547306e4a8c5a5ef8d91..5a8df368a4a25839cd4ac9be6972da2e } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2be99856c6c734eea9096427a99df2ab70bdbba3..7e2a329894b710cb9a400695f361fd9dafbab3d9 100644 +index 06bdfd91167de980b30463bd4ba972e39f441193..93826caece07029911a90919361b773e2f8dc80f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -320,7 +320,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -281,7 +281,7 @@ index 2be99856c6c734eea9096427a99df2ab70bdbba3..7e2a329894b710cb9a400695f361fd9d return; } } -@@ -2991,7 +2999,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2992,7 +3000,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } else if (!this.isSingleplayerOwner()) { // Paper start - This needs to be handled on the main thread for plugins server.submit(() -> { @@ -290,7 +290,7 @@ index 2be99856c6c734eea9096427a99df2ab70bdbba3..7e2a329894b710cb9a400695f361fd9d }); // Paper end } -@@ -3037,7 +3045,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3038,7 +3046,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex); @@ -299,7 +299,7 @@ index 2be99856c6c734eea9096427a99df2ab70bdbba3..7e2a329894b710cb9a400695f361fd9d } } else if (packet.identifier.equals(CUSTOM_UNREGISTER)) { try { -@@ -3047,7 +3055,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3048,7 +3056,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); @@ -308,7 +308,7 @@ index 2be99856c6c734eea9096427a99df2ab70bdbba3..7e2a329894b710cb9a400695f361fd9d } } else { try { -@@ -3065,7 +3073,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3066,7 +3074,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); @@ -342,7 +342,7 @@ index 2ddd973d955d170fd04a56ee5ae95fba29016793..f68fc7fcebe250a40905b52f6ec29ee6 // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a1b9601729fef9ddb277cddc9576d29756bdf251..23c52c2cfe760cdaa13178214ee00e8caa9552f9 100644 +index dd238588bfab67ee0f3a9eec6cbf35f1bfdadddb..31769476ce54e83927e93d339bd3ea8663a2db87 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -499,16 +499,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0703-Line-Of-Sight-Changes.patch b/patches/server/0703-Line-Of-Sight-Changes.patch index 4a85dc9870..dfbb0a85f0 100644 --- a/patches/server/0703-Line-Of-Sight-Changes.patch +++ b/patches/server/0703-Line-Of-Sight-Changes.patch @@ -19,7 +19,7 @@ index 702b166e032f1aedc8e1faa1e04738e768b40aa9..928fe7bb4ef959b7c8ab1f7d421612b9 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index bfa5ff07faca4728c42062b81be298b91d07ef04..e2f05ab12066cea354eed4f8beb20cb3e9899899 100644 +index b91a4968540d2dca4702582eb231b925bd6709e1..7d6c2889a07c99412a47700f001ec1a3f72a3b45 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -186,6 +186,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0704-add-per-world-spawn-limits.patch b/patches/server/0704-add-per-world-spawn-limits.patch index d465beb284..cc71d771fd 100644 --- a/patches/server/0704-add-per-world-spawn-limits.patch +++ b/patches/server/0704-add-per-world-spawn-limits.patch @@ -30,7 +30,7 @@ index ba8ae4d1c86293ca5c95d830d145023b4fe21d71..fc9b69d87364b578327dffb657746c08 private void lightQueueSize() { lightQueueSize = getInt("light-queue-size", lightQueueSize); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e2f05ab12066cea354eed4f8beb20cb3e9899899..6dd6008e3e540d48939f7f3f0c03f7fd920d7d4a 100644 +index 7d6c2889a07c99412a47700f001ec1a3f72a3b45..527a1b5c523718af96009b4c52c40ed32906d49a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -208,6 +208,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0710-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0710-Ensure-disconnect-for-book-edit-is-called-on-main.patch index 242501b211..ef18fb52ab 100644 --- a/patches/server/0710-Ensure-disconnect-for-book-edit-is-called-on-main.patch +++ b/patches/server/0710-Ensure-disconnect-for-book-edit-is-called-on-main.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ensure disconnect for book edit is called on main diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7e2a329894b710cb9a400695f361fd9dafbab3d9..8121ed5ceb7bc6bb2d6dfdfa08d7b157e4a85b19 100644 +index 93826caece07029911a90919361b773e2f8dc80f..805fff130b9ed08309ed287978bd0dd2f52b95a4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1099,7 +1099,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0713-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0713-Use-getChunkIfLoadedImmediately-in-places.patch index 16a701cd02..dcf4b0dcfc 100644 --- a/patches/server/0713-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/patches/server/0713-Use-getChunkIfLoadedImmediately-in-places.patch @@ -21,7 +21,7 @@ index f28aefd9192b26f39e71826fa87cca60a799be39..f8c0574137cab33d0b5efe5d532efb13 // Paper start diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8121ed5ceb7bc6bb2d6dfdfa08d7b157e4a85b19..65f9af14140041a309a035180667b87c3bd4a930 100644 +index 805fff130b9ed08309ed287978bd0dd2f52b95a4..640ee1b8ca4ba7308d94832fc23b0c57c81a99e1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1310,7 +1310,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0715-Adds-PlayerArmSwingEvent.patch b/patches/server/0715-Adds-PlayerArmSwingEvent.patch index d365cf398a..4ec1d8b9d6 100644 --- a/patches/server/0715-Adds-PlayerArmSwingEvent.patch +++ b/patches/server/0715-Adds-PlayerArmSwingEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Adds PlayerArmSwingEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 65f9af14140041a309a035180667b87c3bd4a930..7cffd6c32c91fbcdb62a31bb408e7a25c5194f69 100644 +index 640ee1b8ca4ba7308d94832fc23b0c57c81a99e1..a8fa5d4b13fe439aef00cc15272f0342984c4de1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2216,7 +2216,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0716-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0716-Fixes-kick-event-leave-message-not-being-sent.patch index 3c415d69f6..539fd8682e 100644 --- a/patches/server/0716-Fixes-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0716-Fixes-kick-event-leave-message-not-being-sent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fixes kick event leave message not being sent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7cffd6c32c91fbcdb62a31bb408e7a25c5194f69..aa66f019024564108570ac72b60c86a755a16c41 100644 +index a8fa5d4b13fe439aef00cc15272f0342984c4de1..1c7d0f4b594cc0e0ae28c89514fa21f7d42f2644 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -457,7 +457,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0717-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0717-Add-config-for-mobs-immune-to-default-effects.patch index bcfb5a23c7..5dcafad48a 100644 --- a/patches/server/0717-Add-config-for-mobs-immune-to-default-effects.patch +++ b/patches/server/0717-Add-config-for-mobs-immune-to-default-effects.patch @@ -31,7 +31,7 @@ index 04b27d96d7a6396989c6a9d67b92af259dc0cc26..2bfadd245b5d08c1b77805ee049456cc private void nerfNetherPortalPigmen() { nerfNetherPortalPigmen = getBoolean("game-mechanics.nerf-pigmen-from-nether-portals", nerfNetherPortalPigmen); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 429c229d7c88060c76b143ff4aa1bea88b2be786..2c49851c2113692d666ccdde6043c82370725010 100644 +index 928fe7bb4ef959b7c8ab1f7d421612b98b1db038..57a6c61a979f72f1270041bcf72e83bd8f0c2504 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1133,7 +1133,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0725-Add-System.out-err-catcher.patch b/patches/server/0725-Add-System.out-err-catcher.patch index 2b98767e7e..fbcfa2442c 100644 --- a/patches/server/0725-Add-System.out-err-catcher.patch +++ b/patches/server/0725-Add-System.out-err-catcher.patch @@ -105,7 +105,7 @@ index 0000000000000000000000000000000000000000..88608afed45f25f822121214f87e9f9b + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5e8fb79384c6af845b57051ed0244ec8e835822b..4687827c096ecf8872ab39b00fbf9261ba5c3689 100644 +index 15f38a0d0cd8de4f80b4360a22537ec478ebb77e..c1fc309411c277f7b7450686543a6a7a7fe2fdb1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -18,6 +18,7 @@ import com.mojang.serialization.Lifecycle; diff --git a/patches/server/0729-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0729-Prevent-AFK-kick-while-watching-end-credits.patch index 8dc2907ae4..ccb692ad43 100644 --- a/patches/server/0729-Prevent-AFK-kick-while-watching-end-credits.patch +++ b/patches/server/0729-Prevent-AFK-kick-while-watching-end-credits.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent AFK kick while watching end credits. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index aa66f019024564108570ac72b60c86a755a16c41..73613c05784446c97420af46697cbc09bc4fd481 100644 +index 1c7d0f4b594cc0e0ae28c89514fa21f7d42f2644..49405404a64187e1895ca2a2449a2d4cac25cc62 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -389,7 +389,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0731-Add-PlayerSetSpawnEvent.patch b/patches/server/0731-Add-PlayerSetSpawnEvent.patch index db7f2cbfd9..051c2256b2 100644 --- a/patches/server/0731-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0731-Add-PlayerSetSpawnEvent.patch @@ -93,10 +93,10 @@ index af4eb4a8814491afef449a2874521636957d7557..0a5d563700c9f806139001181f01fa9d return InteractionResult.SUCCESS; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 23c52c2cfe760cdaa13178214ee00e8caa9552f9..abf1bd1d3f29e998f08ff86395c3f16d27a5b7d2 100644 +index 31769476ce54e83927e93d339bd3ea8663a2db87..d6e82abc76cd72fa31c1b3f961f3f5d27ee7b043 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1075,9 +1075,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1076,9 +1076,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { diff --git a/patches/server/0760-Optimise-general-POI-access.patch b/patches/server/0760-Optimise-general-POI-access.patch index 7a02e74ba0..d7a3900e0e 100644 --- a/patches/server/0760-Optimise-general-POI-access.patch +++ b/patches/server/0760-Optimise-general-POI-access.patch @@ -939,7 +939,7 @@ index 90f7b06bd2c558be35c4577044fa033e1fb5cc22..e2d1149cbe75b0689c9f816b87ebb7ba return Optional.empty(); } else { diff --git a/src/main/java/net/minecraft/world/level/portal/PortalForcer.java b/src/main/java/net/minecraft/world/level/portal/PortalForcer.java -index d5ba2e679ed1858ea18e18feffce50544ae036c2..204253dfcbe4e4fda64f9102020eb78c6f9b4e5e 100644 +index ca3e143e641933fa6b9499bbaaa1836877d90c52..4e3987e6233e84647d019e41ba6afe7c5d09ea80 100644 --- a/src/main/java/net/minecraft/world/level/portal/PortalForcer.java +++ b/src/main/java/net/minecraft/world/level/portal/PortalForcer.java @@ -52,16 +52,37 @@ public class PortalForcer { diff --git a/patches/server/0769-Do-not-copy-visible-chunks.patch b/patches/server/0769-Do-not-copy-visible-chunks.patch index 06f5dfa56a..90d0724473 100644 --- a/patches/server/0769-Do-not-copy-visible-chunks.patch +++ b/patches/server/0769-Do-not-copy-visible-chunks.patch @@ -156,7 +156,7 @@ index 6cf01d98d5d7a41f743527381d496c0d01421928..ff2fbe220da7daf572298a3d65cd1125 while (objectbidirectionaliterator.hasNext()) { Entry entry = (Entry) objectbidirectionaliterator.next(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6dd6008e3e540d48939f7f3f0c03f7fd920d7d4a..40463344f364618dd2e7330cb0168ff69a5fa58b 100644 +index 527a1b5c523718af96009b4c52c40ed32906d49a..c9eb449afef26a14a5859b3f248ec560a983c0a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -147,7 +147,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0770-Replace-player-chunk-loader-system.patch b/patches/server/0770-Replace-player-chunk-loader-system.patch index 88dbbc2f09..b247183f91 100644 --- a/patches/server/0770-Replace-player-chunk-loader-system.patch +++ b/patches/server/0770-Replace-player-chunk-loader-system.patch @@ -1692,10 +1692,10 @@ index f0c43f9f636a5dd1f0dfbae604dfa1f4ff9ebd4e..9e75ee7f43722f05dd5df4ef00f7d3e2 /* * If it's a new world, the first few chunks are generated inside diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 40463344f364618dd2e7330cb0168ff69a5fa58b..7e56d6e60f1e1bd8dbf768afcbe06addcd5c5a60 100644 +index c9eb449afef26a14a5859b3f248ec560a983c0a4..f9df6e9d3d74e25a72abee8b43df21bbc0372409 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2039,14 +2039,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2040,14 +2040,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { throw new IllegalArgumentException("View distance " + viewDistance + " is out of range of [2, 32]"); } net.minecraft.server.level.ChunkMap chunkMap = getHandle().getChunkSource().chunkMap; @@ -1712,7 +1712,7 @@ index 40463344f364618dd2e7330cb0168ff69a5fa58b..7e56d6e60f1e1bd8dbf768afcbe06add } @Override -@@ -2055,11 +2055,22 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2056,11 +2056,22 @@ public class CraftWorld extends CraftRegionAccessor implements World { throw new IllegalArgumentException("View distance " + viewDistance + " is out of range of [2, 32]"); } net.minecraft.server.level.ChunkMap chunkMap = getHandle().getChunkSource().chunkMap; @@ -1737,7 +1737,7 @@ index 40463344f364618dd2e7330cb0168ff69a5fa58b..7e56d6e60f1e1bd8dbf768afcbe06add // Spigot start private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index abf1bd1d3f29e998f08ff86395c3f16d27a5b7d2..8c8698f6e17562651fe790dc19825e428d5d0352 100644 +index d6e82abc76cd72fa31c1b3f961f3f5d27ee7b043..1ccbdd2554073a41ca2f37deca3f1ec3e6a0665f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -517,15 +517,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0775-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0775-Optimise-collision-checking-in-player-move-packet-ha.patch index 3c84567bbf..a5f6739901 100644 --- a/patches/server/0775-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/0775-Optimise-collision-checking-in-player-move-packet-ha.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimise collision checking in player move packet handling Move collision logic to just the hasNewCollision call instead of getCubes + hasNewCollision diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 73613c05784446c97420af46697cbc09bc4fd481..559572d3ff37e016ed07d428cf5d73a00ef48d70 100644 +index 49405404a64187e1895ca2a2449a2d4cac25cc62..5ef613f2436a42859cf1d518735c3c088db4fe69 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -582,12 +582,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/work/Bukkit b/work/Bukkit index 7da4c0be21..44cfe1432d 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 7da4c0be21e71bbe9498bc50c352dae39e7c6f2a +Subproject commit 44cfe1432dda2c12c919dcf63536d12cde650fe0 diff --git a/work/CraftBukkit b/work/CraftBukkit index 9217b523e5..1492826118 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 9217b523e5c101d0f998dac6ebb26bfc48ccdec1 +Subproject commit 149282611823e75c181316159665e9d2b54bf3de