From 8af4ea6f4637c5aaeeaf10791f2715324b5ccf38 Mon Sep 17 00:00:00 2001 From: granny Date: Sun, 15 Sep 2024 20:18:23 -0700 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@d1a72ea Updated Upstream (Bukkit/CraftBukkit/Spigot) (#11405) PaperMC/Paper@0a53f1d Set default drop behavior for player deaths (#11380) PaperMC/Paper@951e7dd Fix TrialSpawner forgetting assigned mob when placed by player (#11381) PaperMC/Paper@13a2395 Fix enable-player-collisions playing sounds when set to false (#11390) --- gradle.properties | 2 +- .../api/0009-Allow-inventory-resizing.patch | 8 +++---- .../0017-ItemStack-convenience-methods.patch | 4 ++-- ...026-API-for-any-mob-to-burn-daylight.patch | 4 ++-- patches/server/0004-Purpur-config-files.patch | 6 ++--- .../server/0005-Purpur-client-support.patch | 12 +++++----- .../0008-Component-related-conveniences.patch | 6 ++--- .../0011-Barrels-and-enderchests-6-rows.patch | 24 +++++++++---------- patches/server/0013-AFK-API.patch | 8 +++---- .../server/0014-Bring-back-server-name.patch | 4 ++-- patches/server/0016-Lagging-threshold.patch | 4 ++-- .../0019-Alternative-Keepalive-Handling.patch | 8 +++---- .../0045-Add-permission-for-F3-N-debug.patch | 4 ++-- ...0049-Villagers-follow-emerald-blocks.patch | 4 ++-- ...ispenser-curse-of-binding-protection.patch | 4 ++-- ...0059-Add-5-second-tps-average-in-tps.patch | 4 ++-- .../0060-Implement-elytra-settings.patch | 12 +++++----- ...iefing-bypass-to-everything-affected.patch | 8 +++---- ...0121-Add-EntityTeleportHinderedEvent.patch | 8 +++---- ...0148-Config-to-allow-unsafe-enchants.patch | 6 ++--- ...igurable-powered-rail-boost-modifier.patch | 4 ++-- ...nfig-for-unverified-username-message.patch | 4 ++-- ...169-API-for-any-mob-to-burn-daylight.patch | 8 +++---- .../0175-Add-portal-permission-bypass.patch | 6 ++--- .../0202-Extended-OfflinePlayer-API.patch | 6 ++--- patches/server/0253-Remove-Timings.patch | 6 ++--- .../server/0254-Remove-Mojang-Profiler.patch | 16 ++++++------- patches/server/0257-Debug-Marker-API.patch | 8 +++---- .../server/0260-Add-death-screen-API.patch | 4 ++-- ...ortHinderedEvent-when-attempting-to-.patch | 4 ++-- 30 files changed, 103 insertions(+), 103 deletions(-) diff --git a/gradle.properties b/gradle.properties index dcef542ce..05242ea1d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.1-R0.1-SNAPSHOT mcVersion = 1.21.1 -paperCommit = 4ff58c4c48383b17446b7bbad3e477dbe74aee9f +paperCommit = 13a23951d7142c3c4c39bd5e9bddac190b90c151 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0009-Allow-inventory-resizing.patch b/patches/api/0009-Allow-inventory-resizing.patch index 90f291fbf..2a53bc89b 100644 --- a/patches/api/0009-Allow-inventory-resizing.patch +++ b/patches/api/0009-Allow-inventory-resizing.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Allow inventory resizing diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index 398f74ba0d2e890fb556cd964f61da7c623a7c6d..29090acd16d8f5a41c8653d0e68692f0e07e3bf1 100644 +index 7184f80899206bedeac387e9f8a35482801efd4b..e4197c89c04b91732ce96981f8df0a0bdaee24ce 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -162,7 +162,7 @@ public enum InventoryType { - SMITHING_NEW(4, "Upgrade Gear"), +@@ -164,7 +164,7 @@ public enum InventoryType { + SMITHING_NEW(4, "Upgrade Gear", MenuType.SMITHING), ; - private final int size; + private int size; public void setDefaultSize(int size) { this.size = size; } // Purpur - remove final and add setter private final String title; + private final MenuType menuType; private final boolean isCreatable; - diff --git a/patches/api/0017-ItemStack-convenience-methods.patch b/patches/api/0017-ItemStack-convenience-methods.patch index fa80020cb..b778ba1cd 100644 --- a/patches/api/0017-ItemStack-convenience-methods.patch +++ b/patches/api/0017-ItemStack-convenience-methods.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack convenience methods diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 40820f27f1dd7d368ac710a45f6fe8d4269c004f..724e64a8ff978456c101a97432e45f234e349926 100644 +index de469f32dd9a01e0e2fde016044a783dde0c5b98..c7fa497381c5c5d57fda8b9c1ef26f2e89523f66 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -5623,4 +5623,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -5625,4 +5625,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla } return Registry.BLOCK.get(material.key); } diff --git a/patches/api/0026-API-for-any-mob-to-burn-daylight.patch b/patches/api/0026-API-for-any-mob-to-burn-daylight.patch index 83d7c7779..b95239d46 100644 --- a/patches/api/0026-API-for-any-mob-to-burn-daylight.patch +++ b/patches/api/0026-API-for-any-mob-to-burn-daylight.patch @@ -23,10 +23,10 @@ index 514611cf71cafc8e7e07ef901c2ccad03cd5f31b..8c9c4183785a47b64f084f4b8cdac53d // Purpur end } diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index a1e54e9d14393a6c0ea57cca854071c5396d9717..e492d3707e948cd3936f0f9c5eea4668fb1fe249 100644 +index 68c08e7a212bc3e3885f9b5a4d9aef85fcb3b029..a22909446b7193b1de121bdd6d7b6fbf81dc3be4 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1458,4 +1458,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1468,4 +1468,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ boolean canUseEquipmentSlot(org.bukkit.inventory.@NotNull EquipmentSlot slot); // Paper end - Expose canUseSlot diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index ac1551f13..8ecfda434 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -112,7 +112,7 @@ index d3cc65612c44f42ecae2e09b942438a03bc244bd..116cfd126df3ed5c6643e70912c0d6a6 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c8b82bc41f2042bb4b067f06265a3a22e51f7629..8766e8fdae330ecff174d0257e09ccf38458c37f 100644 +index b7af2d4300facf41a025c8ca322bf6541949b3ab..145a8100b670c6d9fff0af621455ef2913bed8d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1070,6 +1070,7 @@ public final class CraftServer implements Server { @@ -139,7 +139,7 @@ index c8b82bc41f2042bb4b067f06265a3a22e51f7629..8766e8fdae330ecff174d0257e09ccf3 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2991,6 +2994,18 @@ public final class CraftServer implements Server { +@@ -2988,6 +2991,18 @@ public final class CraftServer implements Server { return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } @@ -159,7 +159,7 @@ index c8b82bc41f2042bb4b067f06265a3a22e51f7629..8766e8fdae330ecff174d0257e09ccf3 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 618f4b2e1d012b647b3e7bf359c8ecdd7f159e63..511561181468f07ec537af653e8bf47a2aa5f2cc 100644 +index c1e88c31910e96ef07cece05046c0b55e708b52d..22bdc8fe2796940eb971437e1c97d638bfbc42bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -176,6 +176,14 @@ public class Main { diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch index 994e270c9..b457954b9 100644 --- a/patches/server/0005-Purpur-client-support.patch +++ b/patches/server/0005-Purpur-client-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5980b70e2d7273239245237189b2debcbccfbac3..ce09c4900aee5a75c0d13a7bffd97a0711ead774 100644 +index c396580a9cfd86ff261bed439bb4662ae88010b5..2e45bc48c8a86d9522e4574bf3037611cfda63a3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -302,6 +302,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -17,10 +17,10 @@ index 5980b70e2d7273239245237189b2debcbccfbac3..ce09c4900aee5a75c0d13a7bffd97a07 // Paper start - rewrite chunk system private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index b43f87ff4b9853b5d4bbea5ff9686d64d9d0d26b..b66d4047b5e529f5f737efb0ff1edda805de1316 100644 +index 6998f32f8d79dbdb6b31ffaa126602fc4a428616..2bb1c00e350497b425da63e473d7af5c67c911b8 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -79,6 +79,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -84,6 +84,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack public final java.util.Map packCallbacks = new java.util.concurrent.ConcurrentHashMap<>(); // Paper - adventure resource pack callbacks private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit protected static final ResourceLocation MINECRAFT_BRAND = ResourceLocation.withDefaultNamespace("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index b43f87ff4b9853b5d4bbea5ff9686d64d9d0d26b..b66d4047b5e529f5f737efb0ff1edda8 public ServerCommonPacketListenerImpl(MinecraftServer minecraftserver, Connection networkmanager, CommonListenerCookie commonlistenercookie, ServerPlayer player) { // CraftBukkit this.server = minecraftserver; -@@ -171,6 +172,13 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -176,6 +177,13 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex); this.disconnect(Component.literal("Invalid payload REGISTER!"), PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } @@ -43,10 +43,10 @@ index b43f87ff4b9853b5d4bbea5ff9686d64d9d0d26b..b66d4047b5e529f5f737efb0ff1edda8 try { String channels = payload.toString(com.google.common.base.Charsets.UTF_8); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 992437a6e838f653f32d33b5b3f702c484640a97..c2e0baa40e556fd8bb2ae406b321da01f1d05079 100644 +index ad740739437be632fc7fedec488a7d0c49534688..d0020559126163ff44e16023b698ba7181b114bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3554,4 +3554,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3553,4 +3553,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ((ca.spottedleaf.moonrise.patches.chunk_system.player.ChunkSystemServerPlayer)this.getHandle()) .moonrise$getViewDistanceHolder().setSendViewDistance(viewDistance); } diff --git a/patches/server/0008-Component-related-conveniences.patch b/patches/server/0008-Component-related-conveniences.patch index 6881fb5f0..37067ef20 100644 --- a/patches/server/0008-Component-related-conveniences.patch +++ b/patches/server/0008-Component-related-conveniences.patch @@ -36,10 +36,10 @@ index 2e45bc48c8a86d9522e4574bf3037611cfda63a3..98fd4d8aab273ab86bcb9b95a331cd8b public void displayClientMessage(Component message, boolean overlay) { this.sendSystemMessage(message, overlay); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7267591a31bcfc4a42d5bca99b1f2677bd1253cc..16c98e031ead4a8ea03d44842fc557204055c942 100644 +index c13922d2fb1c15f895b14d4cb6d5379b59ea1ef8..fbfcd1bd4f6bbaef2d5eb4b5f4c286b343ffb294 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1021,6 +1021,20 @@ public abstract class PlayerList { +@@ -1026,6 +1026,20 @@ public abstract class PlayerList { } // CraftBukkit end @@ -81,7 +81,7 @@ index bb1a60180e58c1333e7bb33e8acf1b0225eda8a8..c83e80ebdbbfb2d0e08561a44486a308 return this.type().msgId(); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b3b602076e18b45ce773bafba8f6811aba5321ec..e2907879dbe758ffe728d77ebde434b1e7382a96 100644 +index d4d4f1951e61165b0feb8b0c45fcf40328dd34d1..46b485521660b2a93c5e261e6bc1072e8d1bea0a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4185,6 +4185,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0011-Barrels-and-enderchests-6-rows.patch b/patches/server/0011-Barrels-and-enderchests-6-rows.patch index 5ff8bd9f4..069c4196b 100644 --- a/patches/server/0011-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0011-Barrels-and-enderchests-6-rows.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 16c98e031ead4a8ea03d44842fc557204055c942..9f81acdfff45371379fb484298dfb38b3bdaaa42 100644 +index fbfcd1bd4f6bbaef2d5eb4b5f4c286b343ffb294..59a61a6160ff84f04541822aef5e99e5136ed34c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1146,6 +1146,27 @@ public abstract class PlayerList { +@@ -1151,6 +1151,27 @@ public abstract class PlayerList { player.getBukkitEntity().recalculatePermissions(); // CraftBukkit this.server.getCommands().sendCommands(player); } // Paper - Add sendOpLevel API @@ -215,25 +215,25 @@ index 6186e55014bbb9d5bedaa0e9d196879c55339d42..f4f11292d6d00f4a7c65e3e2a157bba5 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -index 10a5b1853d3984427209c87bdec1d471dddb1244..5e693a93b9d968f1628f86e46a86161f82a5f4c3 100644 +index 674e3a827f8fb64e5c0beefb3c1874d6e8aee4e5..3bc9ee0d76021d1eeca194d0c2b6c2e144ce09fe 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -@@ -183,8 +183,19 @@ public class CraftContainer extends AbstractContainerMenu { +@@ -145,8 +145,19 @@ public class CraftContainer extends AbstractContainerMenu { case PLAYER: case CHEST: case ENDER_CHEST: + // Purpur start -+ this.delegate = new ChestMenu(org.purpurmc.purpur.PurpurConfig.enderChestSixRows ? MenuType.GENERIC_9x6 : MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9); ++ this.delegate = new ChestMenu(org.purpurmc.purpur.PurpurConfig.enderChestSixRows ? net.minecraft.world.inventory.MenuType.GENERIC_9x6 : net.minecraft.world.inventory.MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9); + break; case BARREL: -- this.delegate = new ChestMenu(MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9); +- this.delegate = new ChestMenu(net.minecraft.world.inventory.MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9); + this.delegate = new ChestMenu(switch (org.purpurmc.purpur.PurpurConfig.barrelRows) { -+ case 6 -> MenuType.GENERIC_9x6; -+ case 5 -> MenuType.GENERIC_9x5; -+ case 4 -> MenuType.GENERIC_9x4; -+ case 2 -> MenuType.GENERIC_9x2; -+ case 1 -> MenuType.GENERIC_9x1; -+ default -> MenuType.GENERIC_9x3; ++ case 6 -> net.minecraft.world.inventory.MenuType.GENERIC_9x6; ++ case 5 -> net.minecraft.world.inventory.MenuType.GENERIC_9x5; ++ case 4 -> net.minecraft.world.inventory.MenuType.GENERIC_9x4; ++ case 2 -> net.minecraft.world.inventory.MenuType.GENERIC_9x2; ++ case 1 -> net.minecraft.world.inventory.MenuType.GENERIC_9x1; ++ default -> net.minecraft.world.inventory.MenuType.GENERIC_9x3; + }, windowId, bottom, top, top.getContainerSize() / 9); + // Purpur end break; diff --git a/patches/server/0013-AFK-API.patch b/patches/server/0013-AFK-API.patch index cc51f5d4d..a5ce5e1d8 100644 --- a/patches/server/0013-AFK-API.patch +++ b/patches/server/0013-AFK-API.patch @@ -165,7 +165,7 @@ index 823efad652d8ff9e96b99375b102fef6f017716e..caa8a69bde0c212c36dd990a67836ac2 } // CraftBukkit start diff --git a/src/main/java/net/minecraft/world/entity/EntitySelector.java b/src/main/java/net/minecraft/world/entity/EntitySelector.java -index d8cc5614502db7025349e085381b6b32ad32296a..f1b9e83206cc67e6ef29ebe088351b0aaa5eb349 100644 +index dca7b99e97f21bf6cfae6ee69eeac95d0bcf6863..4830ebddade00f62287bcc9d7b17be83c0ad3a56 100644 --- a/src/main/java/net/minecraft/world/entity/EntitySelector.java +++ b/src/main/java/net/minecraft/world/entity/EntitySelector.java @@ -40,6 +40,7 @@ public final class EntitySelector { @@ -223,10 +223,10 @@ index 141b748abe80402731cdaf14a3d36aa7cef4f4bd..d5d2a6467b48bcf8e5322dd5938f6e4f if (range < 0.0 || d < range * range) { 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 39bb873b5207e83aef36dbf362079eaff31fbb9e..263c4fd61219bb151d9b58fac5d5a75a3dae7029 100644 +index d0020559126163ff44e16023b698ba7181b114bc..8203d8f8fadd2a8c636eb9aa4ccb660e5c3caeb3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -576,10 +576,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -578,10 +578,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -243,7 +243,7 @@ index 39bb873b5207e83aef36dbf362079eaff31fbb9e..263c4fd61219bb151d9b58fac5d5a75a if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { -@@ -3560,5 +3565,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3559,5 +3564,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } diff --git a/patches/server/0014-Bring-back-server-name.patch b/patches/server/0014-Bring-back-server-name.patch index e96f87f51..283f06223 100644 --- a/patches/server/0014-Bring-back-server-name.patch +++ b/patches/server/0014-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index d6431376184e5650b370cbab204e28bc31f4dac6..9ebe1f1797b5be562bc4f6d92b9a4d60 public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean pvp = this.get("pvp", true); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8766e8fdae330ecff174d0257e09ccf38458c37f..a03e272ada8b01a0928214d4d5aa03dfb57ed31a 100644 +index 145a8100b670c6d9fff0af621455ef2913bed8d1..99efe1d052b81141e4c0b26bdac65c943d209dd4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3233,4 +3233,11 @@ public final class CraftServer implements Server { +@@ -3230,4 +3230,11 @@ public final class CraftServer implements Server { return this.potionBrewer; } // Paper end diff --git a/patches/server/0016-Lagging-threshold.patch b/patches/server/0016-Lagging-threshold.patch index 6ca6992ab..10ae3a15a 100644 --- a/patches/server/0016-Lagging-threshold.patch +++ b/patches/server/0016-Lagging-threshold.patch @@ -25,10 +25,10 @@ index 7ed60bb2e85a3a2664eb3abb6d1a9196948ad197..079c432647055337f9d251615c6db231 } // Paper end - further improve server tick loop diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a03e272ada8b01a0928214d4d5aa03dfb57ed31a..e08a0babeb4799ede4af696dd1a33d15eb7e2c75 100644 +index 99efe1d052b81141e4c0b26bdac65c943d209dd4..b25afa9638da053bbed8cb93386a23c47e77e28d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3239,5 +3239,10 @@ public final class CraftServer implements Server { +@@ -3236,5 +3236,10 @@ public final class CraftServer implements Server { public String getServerName() { return this.getProperties().serverName; } diff --git a/patches/server/0019-Alternative-Keepalive-Handling.patch b/patches/server/0019-Alternative-Keepalive-Handling.patch index 8d5fe3362..2675d79c6 100644 --- a/patches/server/0019-Alternative-Keepalive-Handling.patch +++ b/patches/server/0019-Alternative-Keepalive-Handling.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index b66d4047b5e529f5f737efb0ff1edda805de1316..e7075e0c59fe99229142ecb518fadc5b481886fb 100644 +index 2bb1c00e350497b425da63e473d7af5c67c911b8..9b886ebab609586f0368476331cf54cbe4bde6f1 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -74,6 +74,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -79,6 +79,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private long keepAliveChallenge; private long closedListenerTime; private boolean closed = false; @@ -16,7 +16,7 @@ index b66d4047b5e529f5f737efb0ff1edda805de1316..e7075e0c59fe99229142ecb518fadc5b private int latency; private volatile boolean suspendFlushingOnServerThread = false; public final java.util.Map packCallbacks = new java.util.concurrent.ConcurrentHashMap<>(); // Paper - adventure resource pack callbacks -@@ -125,6 +126,16 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -130,6 +131,16 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { @@ -33,7 +33,7 @@ index b66d4047b5e529f5f737efb0ff1edda805de1316..e7075e0c59fe99229142ecb518fadc5b //PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // CraftBukkit // Paper - handle ServerboundKeepAlivePacket async if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) { int i = (int) (Util.getMillis() - this.keepAliveTime); -@@ -261,6 +272,21 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -266,6 +277,21 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack long currentTime = Util.getMillis(); long elapsedTime = currentTime - this.keepAliveTime; diff --git a/patches/server/0045-Add-permission-for-F3-N-debug.patch b/patches/server/0045-Add-permission-for-F3-N-debug.patch index 13c986921..6bcc18fa6 100644 --- a/patches/server/0045-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0045-Add-permission-for-F3-N-debug.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9f81acdfff45371379fb484298dfb38b3bdaaa42..1b559cd79362d17f9485a251b92faadd2ce34fc3 100644 +index 59a61a6160ff84f04541822aef5e99e5136ed34c..c8c1510b220c4b26e2c1d26c9386a5e55ba0a0e6 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1138,6 +1138,7 @@ public abstract class PlayerList { +@@ -1143,6 +1143,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + permissionLevel); } diff --git a/patches/server/0049-Villagers-follow-emerald-blocks.patch b/patches/server/0049-Villagers-follow-emerald-blocks.patch index 88407c453..070f832d1 100644 --- a/patches/server/0049-Villagers-follow-emerald-blocks.patch +++ b/patches/server/0049-Villagers-follow-emerald-blocks.patch @@ -18,7 +18,7 @@ index 13f8c2cb42334ba3b573ca44ace1d3df76e41ff7..baca552e52c728867fcb0527b6c3eb39 @Override diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -index 49b35fab8ee98a384ee12d36bbe2ac813342f1d6..142bcf71448e2c54991fd144269f74c7a2e94d14 100644 +index d28ebcae036168dd65a5f3236d12ee416308c23f..1534f3953bae2cc6ef945aacdf332fceac8940e2 100644 --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java @@ -48,6 +48,7 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent; @@ -28,7 +28,7 @@ index 49b35fab8ee98a384ee12d36bbe2ac813342f1d6..142bcf71448e2c54991fd144269f74c7 + static final net.minecraft.world.item.crafting.Ingredient TEMPT_ITEMS = net.minecraft.world.item.crafting.Ingredient.of(net.minecraft.world.level.block.Blocks.EMERALD_BLOCK.asItem()); // Purpur // CraftBukkit start - private CraftMerchant craftMerchant; + @Override diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java index 91369a00aae35cd51c79882fb53c1b45677890bd..70b8e26baaf15b7cc6363c96647c58219dd3bbab 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/patches/server/0056-Dispenser-curse-of-binding-protection.patch b/patches/server/0056-Dispenser-curse-of-binding-protection.patch index f2126417d..1310e1420 100644 --- a/patches/server/0056-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0056-Dispenser-curse-of-binding-protection.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dispenser curse of binding protection diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f721bd0286d8ea903b1d41983451fa406e870bd3..3ab961fe352ac6bd0a49bcd60d3b4d95e955784d 100644 +index b329a067b756164f75e74415116c29f2e64859c0..38c959c8af4f39f50d57fe49b8f8a1f6c3ed9cbb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4596,6 +4596,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4599,6 +4599,12 @@ public abstract class LivingEntity extends Entity implements Attackable { return EquipmentSlot.MAINHAND; } diff --git a/patches/server/0059-Add-5-second-tps-average-in-tps.patch b/patches/server/0059-Add-5-second-tps-average-in-tps.patch index 2c7b564bf..581ce2cc4 100644 --- a/patches/server/0059-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0059-Add-5-second-tps-average-in-tps.patch @@ -74,10 +74,10 @@ index 096c89bd01cec2abd151bf6fffc4847d1bcd548f..cd0a8a6a1be75cab8bbb8ee3ac17bb73 this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory()); this.repaint(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e08a0babeb4799ede4af696dd1a33d15eb7e2c75..5fdd11c1d7456f50828a6aed68125d6b248580e3 100644 +index b25afa9638da053bbed8cb93386a23c47e77e28d..ce3b91b5eaa697f70a2e591c6edce6bdd7f9bdcf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3035,6 +3035,7 @@ public final class CraftServer implements Server { +@@ -3032,6 +3032,7 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { return new double[] { diff --git a/patches/server/0060-Implement-elytra-settings.patch b/patches/server/0060-Implement-elytra-settings.patch index 29350b467..c138adad8 100644 --- a/patches/server/0060-Implement-elytra-settings.patch +++ b/patches/server/0060-Implement-elytra-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement elytra settings diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3ab961fe352ac6bd0a49bcd60d3b4d95e955784d..b959c37429c74f790eb68065f52b35aaa36be9cf 100644 +index 38c959c8af4f39f50d57fe49b8f8a1f6c3ed9cbb..21c0f2d109a30468c1db6c36bd3ae04ef9706fc0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3639,7 +3639,16 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -46,13 +46,13 @@ index 218f2f085309f04438f8b07bc41cf242583db2dc..ea8e49b42b9dde74784189430be66ed6 itemStack.shrink(1); } else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory(); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index e90cf9da9c35c5b73b489990141311c283db4767..59b54a0c37a435976f92a57f5838e25c87096213 100644 +index c89663b093120d9c43a7f4d24ec8d798b3fa6d5f..5f57f3494705ca1664dbca395c1af3280a50cad8 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -723,6 +723,12 @@ public final class ItemStack implements DataComponentHolder { - this.setDamageValue(j); - if (j >= this.getMaxDamage()) { - Item item = this.getItem(); +@@ -728,6 +728,12 @@ public final class ItemStack implements DataComponentHolder { + org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent(serverPlayer, this); // Paper - Add EntityDamageItemEvent + } + // CraftBukkit end + // Purpur start + if (item == Items.ELYTRA) { + setDamageValue(this.getMaxDamage() - 1); diff --git a/patches/server/0119-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0119-Add-mobGriefing-bypass-to-everything-affected.patch index a08c4a14b..6aa5760a2 100644 --- a/patches/server/0119-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0119-Add-mobGriefing-bypass-to-everything-affected.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ff4069d4b33a7e569867241162b7c6538327a883..2dd67924ab1a21c7115f8b3b06e8ce8873d13c91 100644 +index 5ac53d35538373f81822b1dea7d29c2d3d52cb27..ccfcce1e25e8b94ef805a690cfadafe2f2ab7150 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1857,7 +1857,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -18,7 +18,7 @@ index ff4069d4b33a7e569867241162b7c6538327a883..2dd67924ab1a21c7115f8b3b06e8ce88 BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index eff98dd7a048c107420fe6fa76179592937cdf1d..86ae2cb0e398f4e85c90ca5b20dce8eacde7d71f 100644 +index d9743c9e0026d1f858aacc6a78dc39f144360b96..70ace6f2a42c0d4181cb22a08dd923bd77c08295 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -707,7 +707,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab @@ -284,10 +284,10 @@ index 28a65f2a9ef441ae96a7a635e0695b14ce2ee367..7b6c58a31d37896daccb5f570d3cb924 // CraftBukkit start - fire ExplosionPrimeEvent ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity()); diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 7c8665b813909e0bd5632d88486728f3c28cb0b3..99ed1be743cd63171be4c5a2f9e973756052cea6 100644 +index 710e67ff9c57a6b1dc46abf5de98d54da1410136..9ededdbb5db39e9dff7376d80e93f41e93efdf5d 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -397,7 +397,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -394,7 +394,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { public boolean mayInteract(Level world, BlockPos pos) { Entity entity = this.getOwner(); diff --git a/patches/server/0121-Add-EntityTeleportHinderedEvent.patch b/patches/server/0121-Add-EntityTeleportHinderedEvent.patch index a84f84c27..eb7bd8e6a 100644 --- a/patches/server/0121-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0121-Add-EntityTeleportHinderedEvent.patch @@ -35,7 +35,7 @@ index 3f5bb5c9ceb5b31fcc9ef0a7a6157e1e1cb2a09f..9bd56c48119fe630f272427a2ec99ffe TheEndGatewayBlockEntity.triggerCooldown(world, pos, state, tileentityendgateway); } diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java -index 01333f69b622141b2eb53441c6cbd69e4a059d55..9c11a615fbfd4fcaff5df2a15d1b8578897ab2b4 100644 +index a35a426cc7778a51523f26057b5d61b8a3e23d5d..28d8c8a879badc97cd1168e1847e2fafdc40e4bd 100644 --- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java @@ -65,6 +65,13 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal { @@ -53,7 +53,7 @@ index 01333f69b622141b2eb53441c6cbd69e4a059d55..9c11a615fbfd4fcaff5df2a15d1b8578 EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.ENDER); // Paper - add portal type world.getCraftServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index ddab7de1d376e9e486e2f920174397ea8804aa29..e170176497b833e9addbdc652edcc074e598d26a 100644 +index 0fdbcab175b51a8b77646e0e4a267d987b133a35..e8cccf3d89ecef13c0523c2357ef4b07e30a25b4 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -109,6 +109,13 @@ public class NetherPortalBlock extends Block implements Portal { @@ -83,10 +83,10 @@ index edaaaf0ecc412504b32fe7481f95e5947e0f922a..0d497b26eeb53ca65bbb936e2c1bed3d } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1faf1c4b777333030d164e277ee3552900f10cd3..c24aaffc141d8d75c18ae9a1dc35579f6d812a9e 100644 +index 8203d8f8fadd2a8c636eb9aa4ccb660e5c3caeb3..9a68ef30a7d1e05599aaa79bdce946aa48a621d4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1436,6 +1436,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1435,6 +1435,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start - Teleport passenger API // Don't allow teleporting between worlds while keeping passengers if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) { diff --git a/patches/server/0148-Config-to-allow-unsafe-enchants.patch b/patches/server/0148-Config-to-allow-unsafe-enchants.patch index 14984c9f4..fb674c6b4 100644 --- a/patches/server/0148-Config-to-allow-unsafe-enchants.patch +++ b/patches/server/0148-Config-to-allow-unsafe-enchants.patch @@ -27,7 +27,7 @@ index 99695e38b6a10c3cffda6e453f9f0619c7406cc0..2283f69607cb769545c85bcae940ac95 i++; } else if (targets.size() == 1) { diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index 2d300905c05c7c23a4da30b3651b331381a1dc0d..30746b3ae45840206bf23e811a9819f3b31c9814 100644 +index 3cdadb7028de83d3c2a939ba883061171137a620..5089974b4f46aa5f8b26218ba77209bf7d6e03e1 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -231,7 +231,10 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -78,10 +78,10 @@ index 2d300905c05c7c23a4da30b3651b331381a1dc0d..30746b3ae45840206bf23e811a9819f3 ((ServerPlayer) this.player).connection.send(new ClientboundContainerSetDataPacket(this.containerId, 0, this.cost.get())); } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 59b54a0c37a435976f92a57f5838e25c87096213..950589f3cfbd4f271c5693f86461aba53663b3f2 100644 +index 5f57f3494705ca1664dbca395c1af3280a50cad8..8c14f8c9f61baf1842e42b62bcd73717e82a29e1 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -1257,6 +1257,12 @@ public final class ItemStack implements DataComponentHolder { +@@ -1255,6 +1255,12 @@ public final class ItemStack implements DataComponentHolder { return !((ItemEnchantments) this.getOrDefault(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY)).isEmpty(); } diff --git a/patches/server/0163-Configurable-powered-rail-boost-modifier.patch b/patches/server/0163-Configurable-powered-rail-boost-modifier.patch index 67212022c..44d588654 100644 --- a/patches/server/0163-Configurable-powered-rail-boost-modifier.patch +++ b/patches/server/0163-Configurable-powered-rail-boost-modifier.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable powered rail boost modifier diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -index 9ad276a73cba04edbe48f828031a15727d768a5b..337bd2011c471361653c317004f8380c9fddfc47 100644 +index d7bcfca8c79cc172bb7e4aaeee76ff393d1d2bea..8b1c00062a5272d1020bc85491d8627c4d5f46cb 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -@@ -673,7 +673,7 @@ public abstract class AbstractMinecart extends VehicleEntity { +@@ -683,7 +683,7 @@ public abstract class AbstractMinecart extends VehicleEntity { if (d18 > 0.01D) { double d20 = 0.06D; diff --git a/patches/server/0166-Config-for-unverified-username-message.patch b/patches/server/0166-Config-for-unverified-username-message.patch index d59b20bc0..889c42229 100644 --- a/patches/server/0166-Config-for-unverified-username-message.patch +++ b/patches/server/0166-Config-for-unverified-username-message.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config for unverified username message diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index b0f7a378f19b9837c060c891002cd5db756cdae1..5edd8e6bcabe5714c89d4c88f672cc3130c27045 100644 +index 40638b439966619e9c70a18a32abd95b2178fe9f..19d3423644a6a394743c09eb6935bb7633a329a2 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -317,7 +317,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -322,7 +322,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, ServerLoginPacketListenerImpl.LOGGER.warn("Failed to verify username but will let them in anyway!"); ServerLoginPacketListenerImpl.this.startClientVerification(ServerLoginPacketListenerImpl.this.createOfflineProfile(s1)); // Spigot } else { diff --git a/patches/server/0169-API-for-any-mob-to-burn-daylight.patch b/patches/server/0169-API-for-any-mob-to-burn-daylight.patch index a14ac70e7..83282c0d5 100644 --- a/patches/server/0169-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0169-API-for-any-mob-to-burn-daylight.patch @@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4bdfeb5756b31cfadb505228fc4f9f01fb0c2441..13c3217a4cfa1c528947cfed642028fae2922f34 100644 +index 0a7316e94a83ffac0514841474c4064bfc08da41..382d9c3f3ebe56e52ea123f1ec34fb5bfc3f1ee0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -559,6 +559,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -33,7 +33,7 @@ index 4bdfeb5756b31cfadb505228fc4f9f01fb0c2441..13c3217a4cfa1c528947cfed642028fa this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.passengers = ImmutableList.of(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3c7331f3e5fa62e880a09a5d37c4bf041a8ae943..1602b6f4bc7766b3316e68287bbf549b195cb09d 100644 +index 81816aa6dbd1654a37d643249500bb7f07490456..6ad7658a9451f62c117b83aaf341e53778e39747 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -375,10 +375,10 @@ index 0d497b26eeb53ca65bbb936e2c1bed3d47560ea2..33469665998543f45e68eb50e7dc3f3c Preconditions.checkArgument(entity != null, "Unknown entity"); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index beb6ad312028adb14053e3f019a4fcf6c9149373..9df7793b458527c9b8cd8dce9bddfd52bb8bb744 100644 +index a46fbd2a5e31dd9aa7fcf0867c91ec8d28990861..4ce0afdd922ad52b9f2f50ec1091192f9801f33a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1163,4 +1163,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1168,4 +1168,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return this.getHandle().canUseSlot(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot)); } // Paper end - Expose canUseSlot diff --git a/patches/server/0175-Add-portal-permission-bypass.patch b/patches/server/0175-Add-portal-permission-bypass.patch index 49fc1ddba..cdbef81e6 100644 --- a/patches/server/0175-Add-portal-permission-bypass.patch +++ b/patches/server/0175-Add-portal-permission-bypass.patch @@ -17,7 +17,7 @@ index 1552312aa9740c74533821594da7da705a6f5f70..09e1faae9c22c1062e3de5257c82b2d1 // CraftBukkit start public boolean fauxSleeping; diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index c3f37df133250e1a948f3b58d432fbee83a3c2e3..74d9a8a61365f1244471dbff8eb91dad3afaab51 100644 +index 971dd866fe5d6fcef573cb52582ccb7faf01b2f1..d579132d1afd5c2edb9356c5601584bca2357f8f 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -129,7 +129,7 @@ public class NetherPortalBlock extends Block implements Portal { @@ -30,10 +30,10 @@ index c3f37df133250e1a948f3b58d432fbee83a3c2e3..74d9a8a61365f1244471dbff8eb91dad return 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index c1bad887d1340ebc7c63fda3dceff929e4a44517..69304fa6eb65dd37e74db9ad62eac0bddfdea2c1 100644 +index 7dcfb45c24d7743956be514c7d554e06aac77b3e..46856d2b7e24c5d223b7b1627ccb451749b183e7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -265,6 +265,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -273,6 +273,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @Override public void recalculatePermissions() { this.perm.recalculatePermissions(); diff --git a/patches/server/0202-Extended-OfflinePlayer-API.patch b/patches/server/0202-Extended-OfflinePlayer-API.patch index ae6c1bdb9..a03f6607c 100644 --- a/patches/server/0202-Extended-OfflinePlayer-API.patch +++ b/patches/server/0202-Extended-OfflinePlayer-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Extended OfflinePlayer API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index 9d93130f23addb18b97d7f5ec013faef17a74529..29d2fb87a65778926aea2cfc7a5b486cad596515 100644 +index 4f4e3ee18d586f61706504218cddc06a38ca5580..95cf30c1ded4a46791e1739fbae2d06c50f3be5f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -335,14 +335,26 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -243,10 +243,10 @@ index 9d93130f23addb18b97d7f5ec013faef17a74529..29d2fb87a65778926aea2cfc7a5b486c + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c24aaffc141d8d75c18ae9a1dc35579f6d812a9e..e5f7647b598cbfacc8840f548bfaa5ed45190e03 100644 +index 9a68ef30a7d1e05599aaa79bdce946aa48a621d4..aa2e0d3c0b6c8c1bca3e0c4527a88b1c97a6418c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2759,6 +2759,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2758,6 +2758,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0253-Remove-Timings.patch b/patches/server/0253-Remove-Timings.patch index 7f68849cc..8f1a44583 100644 --- a/patches/server/0253-Remove-Timings.patch +++ b/patches/server/0253-Remove-Timings.patch @@ -510,10 +510,10 @@ index c65dc84615e5b434c15c26fb712a7e6336eeeb32..c3699c7dcc2c94215d6601c7c07669c3 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 53172745c5e68a22f651710860075bdc41debc8f..e4978abcc79ee51fa95442b82d9079c8ee1e60d6 100644 +index f0198fbdc39732075b647e6ca99a6ded99d37efc..6f4e471c45195996a1cdd93c7dfb64e68156212f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1232,7 +1232,7 @@ public abstract class PlayerList { +@@ -1237,7 +1237,7 @@ public abstract class PlayerList { public void saveAll(int interval) { io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main @@ -522,7 +522,7 @@ index 53172745c5e68a22f651710860075bdc41debc8f..e4978abcc79ee51fa95442b82d9079c8 int numSaved = 0; long now = MinecraftServer.currentTick; for (int i = 0; i < this.players.size(); ++i) { -@@ -1243,7 +1243,7 @@ public abstract class PlayerList { +@@ -1248,7 +1248,7 @@ public abstract class PlayerList { } // Paper end - Incremental chunk and player saving } diff --git a/patches/server/0254-Remove-Mojang-Profiler.patch b/patches/server/0254-Remove-Mojang-Profiler.patch index 411395b43..221fd9b7a 100644 --- a/patches/server/0254-Remove-Mojang-Profiler.patch +++ b/patches/server/0254-Remove-Mojang-Profiler.patch @@ -450,7 +450,7 @@ index 9cd4f7c6910727c849ac7f5d675dc6105c4bbba2..4e4b7f2a6d7ed92a2ce06e566186027c } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 8ec14f27b1a56e230ed77b18315a4091f5165cbb..66ee6ca56897c9646605f5907ce895e54bc30d96 100644 +index 4b2a66b68e96b85e78c12a12c410ffab3c14ab71..1883abec14e05f8eb2e865446b4d81091b1aa5e0 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -396,16 +396,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -593,7 +593,7 @@ index 793f16cb4049d121a6ef7ca4fcd9519dc8c0a7b0..ebe872c4643038f0c99b289d4d5afdbe } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 7ece40ea9ad3ba74b93250f72b42fc6299bedc82..29e31ed2d09aee3b668816a683ab0f89026fdf4f 100644 +index c3699c7dcc2c94215d6601c7c07669c37f1fa4ab..c601061d1abb8f4a66dd5e478cf69a872a4d0f6f 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -645,16 +645,16 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -814,7 +814,7 @@ index 7ece40ea9ad3ba74b93250f72b42fc6299bedc82..29e31ed2d09aee3b668816a683ab0f89 while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6482e1985654afea2e6d89fe0a9c2b6b7b3407fa..b3ed44884b7faa284effba5d257061be7fe72d2d 100644 +index 6f6b9dbfa8bf4d67a9157ec870a4f14a8002ac01..d8bff9a83c4c2ad1ec1e7d44aac23068f6dc930b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1398,7 +1398,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -847,10 +847,10 @@ index 6482e1985654afea2e6d89fe0a9c2b6b7b3407fa..b3ed44884b7faa284effba5d257061be this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities())); playerlist.sendLevelInfo(this, worldserver); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index e7075e0c59fe99229142ecb518fadc5b481886fb..fac2fb82c381d245f77b7288c34920660ac2c3af 100644 +index 9b886ebab609586f0368476331cf54cbe4bde6f1..0d6307db1047bb5db7e33aa425fe2564cca93cfb 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -266,7 +266,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -271,7 +271,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } protected void keepConnectionAlive() { @@ -859,7 +859,7 @@ index e7075e0c59fe99229142ecb518fadc5b481886fb..fac2fb82c381d245f77b7288c3492066 // Paper start - give clients a longer time to respond to pings as per pre 1.12.2 timings // This should effectively place the keepalive handling back to "as it was" before 1.12.2 long currentTime = Util.getMillis(); -@@ -299,7 +299,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -304,7 +304,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } // Paper end - give clients a longer time to respond to pings as per pre 1.12.2 timings @@ -1073,7 +1073,7 @@ index a715ecf4a8ac91d3e5e5c6269d89e54b2c1cd279..223c3665126c576eddb1a8f7c9f5bc60 }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e0a461b84ac51910a1ede99d162e9674f4899b79..61f193c17d08ba5cdfb653b8f2488c8fca069854 100644 +index eecb293535ac3c01026260f685a486a18e455185..1fd114c281cf79105ad232aac842bea6e808a5d2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -889,7 +889,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1178,7 +1178,7 @@ index e0a461b84ac51910a1ede99d162e9674f4899b79..61f193c17d08ba5cdfb653b8f2488c8f } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 273ba284ef4f515ac7ca276264e17e04cdbe5b2e..943b4e93d1cfbb6b5d933851b2494fb6d28c32fc 100644 +index b6b23819deeb8a439de37c291f82a4aa8c30ffc5..8f06ae8d6657665a76d7b4fff5b517b9a25a3085 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -444,7 +444,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0257-Debug-Marker-API.patch b/patches/server/0257-Debug-Marker-API.patch index a0c23cef3..7f3473487 100644 --- a/patches/server/0257-Debug-Marker-API.patch +++ b/patches/server/0257-Debug-Marker-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cac4b62cc3ab9e726b8c3ee62bdaca3410c07298..2acc914e31bcba0e570725dc4dc8449d0331ab90 100644 +index ad71ba70b24481120e303e174ab07c7a31a068c6..300c8a94771d56e6bb6da692092882c329a9f0e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1622,6 +1622,42 @@ public final class CraftServer implements Server { @@ -52,7 +52,7 @@ index cac4b62cc3ab9e726b8c3ee62bdaca3410c07298..2acc914e31bcba0e570725dc4dc8449d @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0b25e57656e209508953fbbacd25a1e9036cf9fd..668c55277cefbfdbdd7255bc3d3975f4c1250769 100644 +index 925f51ec046d9cc411dde5048cfdcd47507f80f8..40712284682f2805858be68fe9e5428b376a5943 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2347,6 +2347,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -99,10 +99,10 @@ index 0b25e57656e209508953fbbacd25a1e9036cf9fd..668c55277cefbfdbdd7255bc3d3975f4 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 33669c2d904d565fdc1575f3905ba796f0fe9e68..d8a73f97de936c7c3f9a275338c9f130400f65e0 100644 +index aa2e0d3c0b6c8c1bca3e0c4527a88b1c97a6418c..eeeac1e7e82f45a7cec44e9d6388a62c477e096a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3603,5 +3603,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3602,5 +3602,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0260-Add-death-screen-API.patch b/patches/server/0260-Add-death-screen-API.patch index 12a710512..b53f8cd0f 100644 --- a/patches/server/0260-Add-death-screen-API.patch +++ b/patches/server/0260-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index dfc15b03996a1a82918c85f3ebea59d54177092a..b9130d040acff1e5cb7a475be93b03cdbe229683 100644 +index eeeac1e7e82f45a7cec44e9d6388a62c477e096a..103ef5de699b8ed1e540752bc169cc43d22e9c00 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3641,5 +3641,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3640,5 +3640,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload())); } diff --git a/patches/server/0297-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch b/patches/server/0297-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch index f9d34bc71..acbe83c52 100644 --- a/patches/server/0297-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch +++ b/patches/server/0297-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fire EntityTeleportHinderedEvent when attempting to teleport diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b9130d040acff1e5cb7a475be93b03cdbe229683..e3100e65fea02374d4393bab48d63ddeaecef0ab 100644 +index 103ef5de699b8ed1e540752bc169cc43d22e9c00..ceca8c1bb41a9c258f004863ea8ff76961e6b4f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1458,6 +1458,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1457,6 +1457,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API