From 991719aa9e003cd2bfc4bf21ed6bc769a028b140 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 20 Jun 2023 15:54:20 -0700 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@c1ea550 Remove more outdated config settings (#9358) PaperMC/Paper@3a03739 Add method to get ungenerated chunk from long key (#9254) PaperMC/Paper@072b78a Add trail ruins structure set seed in spigot config (#9327) PaperMC/Paper@faf9a65 Disable BukkitMirrorTest PaperMC/Paper@873533b Add method to remove all active potion effects (#9361) PaperMC/Paper@275173e Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paper@976b95c Temp: Pre-init PlayerChunkLoaderData in order to prepopulate the BFS lookup cache because potatos (Closes #9338) PaperMC/Paper@d6d4c78 Move some Folia API to Paper for easy compat (#9360) PaperMC/Paper@b1fe756 Revert "Move some Folia API to Paper for easy compat (#9360)" PaperMC/Paper@1f5bec7 Pull Folia API take two PaperMC/Paper@3756f5b Properly Cancel Usable Items (#9225) --- gradle.properties | 2 +- patches/api/0007-Ridables.patch | 8 +-- patches/api/0011-Bring-back-server-name.patch | 12 ++-- .../0013-LivingEntity-safeFallDistance.patch | 4 +- patches/api/0014-Lagging-threshold.patch | 8 +-- ...0021-LivingEntity-broadcastItemBreak.patch | 4 +- ...031-API-for-any-mob-to-burn-daylight.patch | 8 +-- ...the-ability-to-add-combustible-items.patch | 8 +-- .../api/0042-Add-local-difficulty-api.patch | 4 +- patches/api/0045-Debug-Marker-API.patch | 12 ++-- patches/api/0050-Fire-Immunity-API.patch | 4 +- .../0001-Pufferfish-Server-Changes.patch | 40 ++++++------- patches/server/0003-Rebrand.patch | 24 ++++---- patches/server/0004-Purpur-config-files.patch | 12 ++-- .../server/0005-Purpur-client-support.patch | 6 +- .../0007-Component-related-conveniences.patch | 8 +-- patches/server/0008-Ridables.patch | 34 +++++------ .../0010-Barrels-and-enderchests-6-rows.patch | 4 +- .../server/0013-Bring-back-server-name.patch | 4 +- .../0014-Configurable-server-mod-name.patch | 4 +- .../0015-LivingEntity-safeFallDistance.patch | 6 +- patches/server/0016-Lagging-threshold.patch | 6 +- .../0018-Player-invulnerabilities.patch | 8 +-- .../0020-Alternative-Keepalive-Handling.patch | 4 +- ...option-to-set-armorstand-step-height.patch | 4 +- .../0046-Add-permission-for-F3-N-debug.patch | 4 +- ...urable-void-damage-height-and-damage.patch | 6 +- .../0056-Add-canSaveToDisk-to-Entity.patch | 4 +- ...0060-Add-5-second-tps-average-in-tps.patch | 6 +- patches/server/0073-Entity-lifespan.patch | 4 +- ...Stop-squids-floating-on-top-of-water.patch | 4 +- ...tities-can-use-portals-configuration.patch | 6 +- ...0089-LivingEntity-broadcastItemBreak.patch | 4 +- .../0098-Configurable-daylight-cycle.patch | 4 +- ...0126-Add-EntityTeleportHinderedEvent.patch | 4 +- ...28-Movement-options-for-armor-stands.patch | 4 +- .../server/0129-Fix-stuck-in-portals.patch | 4 +- patches/server/0149-Drowning-Settings.patch | 6 +- ...177-API-for-any-mob-to-burn-daylight.patch | 14 ++--- ...ggle-for-end-portal-safe-teleporting.patch | 4 +- ...layer-join-full-server-by-permission.patch | 4 +- ...the-ability-to-add-combustible-items.patch | 4 +- ...o-disable-kick-for-out-of-order-chat.patch | 4 +- ...0267-Add-toggle-for-RNG-manipulation.patch | 4 +- .../0270-Allow-custom-ChatDecorators.patch | 4 +- patches/server/0271-Remove-Timings.patch | 42 ++++++++----- .../server/0272-Remove-Mojang-Profiler.patch | 60 +++++++++---------- patches/server/0275-Debug-Marker-API.patch | 4 +- ...0282-Add-item-packet-serialize-event.patch | 8 +-- patches/server/0288-Language-API.patch | 4 +- patches/server/0293-Fire-Immunity-API.patch | 14 ++--- ...leport-to-spawn-on-nether-ceiling-da.patch | 4 +- 52 files changed, 243 insertions(+), 229 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8dba6d8c8..f2e8ec7db 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.20.1-R0.1-SNAPSHOT mcVersion = 1.20.1 -paperCommit = 38856661c0f10f927b130bdc83c3cc6aafa5cb9a +paperCommit = 3756f5bbf566fde4aa619bf8d4215f68567621d3 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0007-Ridables.patch b/patches/api/0007-Ridables.patch index 557f85273..2b267ce85 100644 --- a/patches/api/0007-Ridables.patch +++ b/patches/api/0007-Ridables.patch @@ -22,13 +22,13 @@ index b7a2cecb334ce39fa09d8ab949a29eedbdc44c36..6f55ccfff74b361854bf424fd93f0428 * @deprecated removed in 1.16 */ diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index a2a423d4e4c2702ba5967223cab0432dd7d04732..c6ece3f3a6a12998dab7f3c69a2af78bd22fdd48 100644 +index 6b842453589cf148ab32c1507cf374056826316e..84000002d89c0fb692d1c44f449ad3dcdd2b7576 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -954,4 +954,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -965,4 +965,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ - boolean wouldCollideUsing(@NotNull BoundingBox boundingBox); - // Paper End - Collision API + @NotNull io.papermc.paper.threadedregions.scheduler.EntityScheduler getScheduler(); + // Paper end - Folia schedulers + + // Purpur start + /** diff --git a/patches/api/0011-Bring-back-server-name.patch b/patches/api/0011-Bring-back-server-name.patch index 088077355..e14d7737b 100644 --- a/patches/api/0011-Bring-back-server-name.patch +++ b/patches/api/0011-Bring-back-server-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ef36d793ab77c7b7208f8f5994815599cff470d1..68b218e991c9d73f4ec52a1d5c6bba9140427472 100644 +index 1ab3d8aee3101ca08d9adf5d9ff9f83de911594c..cd91cb8362dd7eee06f3a8ffc8777143031a33e8 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2500,4 +2500,15 @@ public final class Bukkit { +@@ -2635,4 +2635,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -25,13 +25,13 @@ index ef36d793ab77c7b7208f8f5994815599cff470d1..68b218e991c9d73f4ec52a1d5c6bba91 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 861e193e7c1fe1b8e69e22b5c80f391701446bc5..5a59443e3f8fce692af148bf01dd59cddcbe683a 100644 +index 00039fb8d6df939c5a1812f5afc61f34ef31c448..bd41630486f3f7820a0b3b9d6333c66e7b735ac1 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2187,4 +2187,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2302,4 +2302,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ - @NotNull org.bukkit.potion.PotionBrewer getPotionBrewer(); - // Paper end + boolean isOwnedByCurrentRegion(@NotNull Entity entity); + // Paper end - Folia region threading API + + // Purpur start + /** diff --git a/patches/api/0013-LivingEntity-safeFallDistance.patch b/patches/api/0013-LivingEntity-safeFallDistance.patch index 9d6cf278f..4a97ee4b0 100644 --- a/patches/api/0013-LivingEntity-safeFallDistance.patch +++ b/patches/api/0013-LivingEntity-safeFallDistance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index ffca32ae2464ea5a669029079a50585ca259a4f8..7e60e848c8609cf41603a25ea42927896b56390f 100644 +index 9712f7140933d7fc87c5838c173e2d818b70cfde..c2d2490516df766ff5c6bcc739798218b0f8015b 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1150,4 +1150,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1159,4 +1159,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void setBodyYaw(float bodyYaw); // Paper end diff --git a/patches/api/0014-Lagging-threshold.patch b/patches/api/0014-Lagging-threshold.patch index 08dbd889f..4f0c16b6c 100644 --- a/patches/api/0014-Lagging-threshold.patch +++ b/patches/api/0014-Lagging-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 68b218e991c9d73f4ec52a1d5c6bba9140427472..a522ff41b59b8c929d85736318f838f72873dfd9 100644 +index cd91cb8362dd7eee06f3a8ffc8777143031a33e8..fb8cc238252fa59243414382ef1c2f41a1c4864f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2510,5 +2510,14 @@ public final class Bukkit { +@@ -2645,5 +2645,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -24,10 +24,10 @@ index 68b218e991c9d73f4ec52a1d5c6bba9140427472..a522ff41b59b8c929d85736318f838f7 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 5a59443e3f8fce692af148bf01dd59cddcbe683a..47d885c63af0339beb2e978ff2c1d91a19c70846 100644 +index bd41630486f3f7820a0b3b9d6333c66e7b735ac1..6a894f4e99a048602f03da0c9c22166516ce0a8f 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2195,5 +2195,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2310,5 +2310,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0021-LivingEntity-broadcastItemBreak.patch b/patches/api/0021-LivingEntity-broadcastItemBreak.patch index 9833f7bd5..1fa720073 100644 --- a/patches/api/0021-LivingEntity-broadcastItemBreak.patch +++ b/patches/api/0021-LivingEntity-broadcastItemBreak.patch @@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 7e60e848c8609cf41603a25ea42927896b56390f..1ea02330f16881892a7dc70fd8ecb27ada464b8b 100644 +index c2d2490516df766ff5c6bcc739798218b0f8015b..deb92fd00f9cce906158c2dc9569620ba0eda411 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1165,5 +1165,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1174,5 +1174,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * @param safeFallDistance Safe fall distance */ void setSafeFallDistance(float safeFallDistance); diff --git a/patches/api/0031-API-for-any-mob-to-burn-daylight.patch b/patches/api/0031-API-for-any-mob-to-burn-daylight.patch index 73f8eee11..86d69f410 100644 --- a/patches/api/0031-API-for-any-mob-to-burn-daylight.patch +++ b/patches/api/0031-API-for-any-mob-to-burn-daylight.patch @@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index c6ece3f3a6a12998dab7f3c69a2af78bd22fdd48..ba60930ecd67159018717100b0c73252888b3abc 100644 +index 84000002d89c0fb692d1c44f449ad3dcdd2b7576..964ec7bd70fcdfcffd51b310cdea84c7c5db6c95 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -984,5 +984,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -995,5 +995,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return True if ridable in water */ boolean isRidableInWater(); @@ -23,10 +23,10 @@ index c6ece3f3a6a12998dab7f3c69a2af78bd22fdd48..ba60930ecd67159018717100b0c73252 // Purpur end } diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 1ea02330f16881892a7dc70fd8ecb27ada464b8b..654dc0c6d98b29cf45d3826aece374726e3e9802 100644 +index deb92fd00f9cce906158c2dc9569620ba0eda411..0e6024430fde305a9cc4294037b2bd820676e096 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1172,5 +1172,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1181,5 +1181,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * @param slot Equipment slot to play break animation for */ void broadcastItemBreak(@NotNull org.bukkit.inventory.EquipmentSlot slot); diff --git a/patches/api/0037-Added-the-ability-to-add-combustible-items.patch b/patches/api/0037-Added-the-ability-to-add-combustible-items.patch index bece07923..5ed8d9069 100644 --- a/patches/api/0037-Added-the-ability-to-add-combustible-items.patch +++ b/patches/api/0037-Added-the-ability-to-add-combustible-items.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a522ff41b59b8c929d85736318f838f72873dfd9..ad74599b144d0516eef8baccea3318e5d12913e7 100644 +index fb8cc238252fa59243414382ef1c2f41a1c4864f..29a98d93f9cb3dbace116b69e37ec56f8762a966 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2519,5 +2519,24 @@ public final class Bukkit { +@@ -2654,5 +2654,24 @@ public final class Bukkit { public static boolean isLagging() { return server.isLagging(); } @@ -34,10 +34,10 @@ index a522ff41b59b8c929d85736318f838f72873dfd9..ad74599b144d0516eef8baccea3318e5 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 47d885c63af0339beb2e978ff2c1d91a19c70846..4e9305099595c251f5d432c415fe3b60d9335eff 100644 +index 6a894f4e99a048602f03da0c9c22166516ce0a8f..7a698e55630893aac51ee81ccc3dd35f195f88e1 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2202,5 +2202,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2317,5 +2317,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return True if lagging */ boolean isLagging(); diff --git a/patches/api/0042-Add-local-difficulty-api.patch b/patches/api/0042-Add-local-difficulty-api.patch index a1767e164..3b9825738 100644 --- a/patches/api/0042-Add-local-difficulty-api.patch +++ b/patches/api/0042-Add-local-difficulty-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 72f1576b8ce5b55b50f053f346ce42c52db4b568..d07b6f40c111c9b131f2995e9796d66f5344c5df 100644 +index 6917931966377c51db88a3364997a110dd987970..1fba792419ea6b5e8c640a2599e4b2dd16ee87d0 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3974,6 +3974,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -3992,6 +3992,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable public DragonBattle getEnderDragonBattle(); diff --git a/patches/api/0045-Debug-Marker-API.patch b/patches/api/0045-Debug-Marker-API.patch index 6412417d7..6a68af3ae 100644 --- a/patches/api/0045-Debug-Marker-API.patch +++ b/patches/api/0045-Debug-Marker-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ad74599b144d0516eef8baccea3318e5d12913e7..7d759a4725dbea992f078b6c1a60d9822bb268a3 100644 +index 29a98d93f9cb3dbace116b69e37ec56f8762a966..e26e0c6bc3d8e735f489cdcd0a5b93d6688c2c5f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2538,5 +2538,89 @@ public final class Bukkit { +@@ -2673,5 +2673,89 @@ public final class Bukkit { public static void removeFuel(@NotNull Material material) { server.removeFuel(material); } @@ -99,10 +99,10 @@ index ad74599b144d0516eef8baccea3318e5d12913e7..7d759a4725dbea992f078b6c1a60d982 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 4e9305099595c251f5d432c415fe3b60d9335eff..15a0ae9744fa841e3e51e9e9a957cea8c71e68ad 100644 +index 7a698e55630893aac51ee81ccc3dd35f195f88e1..66052e2f0dcd8250a196c3b61423ecdbf0dd1f41 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2217,5 +2217,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2332,5 +2332,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param material The material that will no longer be a fuel */ public void removeFuel(@NotNull Material material); @@ -179,10 +179,10 @@ index 4e9305099595c251f5d432c415fe3b60d9335eff..15a0ae9744fa841e3e51e9e9a957cea8 // Purpur end } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index d07b6f40c111c9b131f2995e9796d66f5344c5df..adf8169d5baefa7a33c33ef066180a8116617756 100644 +index 1fba792419ea6b5e8c640a2599e4b2dd16ee87d0..bf39c6602cfca70a6352519fa26059cd79143cdd 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3982,6 +3982,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -4000,6 +4000,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient * @return The local difficulty */ public float getLocalDifficultyAt(@NotNull Location location); diff --git a/patches/api/0050-Fire-Immunity-API.patch b/patches/api/0050-Fire-Immunity-API.patch index b7a097385..d905937b2 100644 --- a/patches/api/0050-Fire-Immunity-API.patch +++ b/patches/api/0050-Fire-Immunity-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index ba60930ecd67159018717100b0c73252888b3abc..cc78ce7de88a9a404ed20d5bc61b98d3107f29b3 100644 +index 964ec7bd70fcdfcffd51b310cdea84c7c5db6c95..af421c1e9ad155e190dc3fe67ed24e96857d9e33 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -991,5 +991,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -1002,5 +1002,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return True if in daylight */ boolean isInDaylight(); diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 4194527c8..deea2a29c 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index 19186e436cd6a5f00f0b42ac11f8050ad2ef6713..db418d96f8eee731b9ed29e51cb7ac0ff1ad529b 100644 +index 6d3d573ffc118e7f4d76422dc014a7df0384bb49..17cd04c061044a41cc37f3770c1844fab1674a7c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,8 +7,12 @@ plugins { @@ -39,8 +39,8 @@ index 19186e436cd6a5f00f0b42ac11f8050ad2ef6713..db418d96f8eee731b9ed29e51cb7ac0f implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") @@ -44,6 +48,13 @@ dependencies { - runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.10") - runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.10") + runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3") + runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3") + // Pufferfish start + implementation("org.yaml:snakeyaml:1.32") @@ -1467,7 +1467,7 @@ index 2d11a67bdc82088abf0b3ca134f352f155c8eb1f..8bd24c8eef3169a765d42a6769034460 public static long getCoordinateKey(final ChunkPos pair) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 80cf4852e4010eeeadaf920ab927a40df0179b40..55d5e325006d5a948b98451b1e455bb8bb869cbb 100644 +index 912affb0ab1c4c40f7a655194e95ec6f0ebf1fcd..7f391d66796952e8af6b29b71cf3a91641aeacea 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -311,6 +311,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -1679,7 +1681,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop pageList = packet.getPages(); -@@ -2364,6 +2365,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2365,6 +2366,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean updateChatOrder(Instant timestamp) { @@ -1885,10 +1885,10 @@ index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d4183 int LARGE_MAX_STACK_SIZE = 64; int DEFAULT_DISTANCE_LIMIT = 8; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..53fec4d15ac3d21e5f82c76133ee8dc449d1e67a 100644 +index 513c34aa02d63f7e3c178eade818e156af4541db..641c4af6bd13c87c26f7932dd5f6f4d2ee20e3c0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -294,7 +294,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public double yo; public double zo; private Vec3 position; @@ -1897,7 +1897,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..53fec4d15ac3d21e5f82c76133ee8dc4 private ChunkPos chunkPosition; private Vec3 deltaMovement; private float yRot; -@@ -421,6 +421,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -433,6 +433,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.originWorld; } // Paper end @@ -1910,7 +1910,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..53fec4d15ac3d21e5f82c76133ee8dc4 public float getBukkitYaw() { return this.yRot; } -@@ -495,17 +501,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -507,17 +513,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.isLegacyTrackingEntity = isLegacyTrackingEntity; } @@ -1948,7 +1948,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..53fec4d15ac3d21e5f82c76133ee8dc4 for (Entity passenger : passengers) { org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType; int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal()); -@@ -514,6 +539,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -526,6 +551,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { range = passengerRange; } } @@ -1958,7 +1958,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..53fec4d15ac3d21e5f82c76133ee8dc4 return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this)); } -@@ -797,6 +825,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -810,6 +838,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end public void baseTick() { @@ -1971,7 +1971,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..53fec4d15ac3d21e5f82c76133ee8dc4 this.level().getProfiler().push("entityBaseTick"); if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking this.feetBlockState = null; -@@ -4293,16 +4327,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4306,16 +4340,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -1997,7 +1997,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..53fec4d15ac3d21e5f82c76133ee8dc4 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4310,14 +4346,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4323,14 +4359,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -2065,7 +2065,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..53fec4d15ac3d21e5f82c76133ee8dc4 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4339,9 +4422,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4352,9 +4435,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } @@ -2092,7 +2092,7 @@ index 9afc81ccb237c3655d64cdbe8a0db9a4d7791043..aa5cec6d56d7a8e80861aa4c9b4a74ca private String descriptionId; @Nullable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a189461330a4d427a7450d504ef13de3605497e3..eccd61f5401ecb2ef0b460337a3284d1844bd85f 100644 +index 064bd3f2615009b3f15f3a5006f0b5f7a7ba6bf5..33befdab713753d14bfe0e79e96dd925dad331c2 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -143,7 +143,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -3456,7 +3456,7 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 59984cb8ba9ffb66b59a2c907e4f04b5a51ea8ed..c9ebcfffa6b958a117a2112ab181937dfcf48c1a 100644 +index 0859f11567aecc8cae993a1409cfac7c53ab3dd5..7036f8b170ce040accaa2fe637758c6695bdafe8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -261,7 +261,7 @@ import javax.annotation.Nullable; // Paper @@ -3468,7 +3468,7 @@ index 59984cb8ba9ffb66b59a2c907e4f04b5a51ea8ed..c9ebcfffa6b958a117a2112ab181937d private final String serverVersion; private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); -@@ -1066,6 +1066,11 @@ public final class CraftServer implements Server { +@@ -1136,6 +1136,11 @@ public final class CraftServer implements Server { plugin.getPluginMeta().getDisplayName(), "This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies." )); diff --git a/patches/server/0003-Rebrand.patch b/patches/server/0003-Rebrand.patch index 471fe79ce..86ee6bc36 100644 --- a/patches/server/0003-Rebrand.patch +++ b/patches/server/0003-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index db418d96f8eee731b9ed29e51cb7ac0ff1ad529b..a125c0735cf4814b26ce8a96163bf65f74d23900 100644 +index 17cd04c061044a41cc37f3770c1844fab1674a7c..2c5ef872dd62a1ee427d6fd0e70be10a0afcdedd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,12 +7,12 @@ plugins { @@ -25,17 +25,17 @@ index db418d96f8eee731b9ed29e51cb7ac0ff1ad529b..a125c0735cf4814b26ce8a96163bf65f // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -44,6 +44,10 @@ dependencies { - } - // Paper end +@@ -48,6 +48,10 @@ dependencies { + runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3") + runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3") + implementation("org.mozilla:rhino-runtime:1.7.14") // Purpur + implementation("org.mozilla:rhino-engine:1.7.14") // Purpur + implementation("dev.omega24:upnp4j:1.0") // Purpur + - runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.2") - runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.10") - runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.10") + // Pufferfish start + implementation("org.yaml:snakeyaml:1.32") + implementation ("me.carleslc.Simple-YAML:Simple-Yaml:1.8.4") { @@ -83,7 +87,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -177,7 +177,7 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438 stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append("\n\n"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 55d5e325006d5a948b98451b1e455bb8bb869cbb..cdf213b991b61f67604ef7390c089399bc1b5dd5 100644 +index 7f391d66796952e8af6b29b71cf3a91641aeacea..7d66cdd30b85b457083220ac3ed05cac605cb959 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -923,7 +923,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 29dbd3a902c2d620b9da191d0bcd9f6e9108034a..3b19ee96281e47591473e50b0b961334a422f58a 100644 +index 309a3e42ec48a1a7684b62ea372bfa984df6a0fb..9c5a1d58acd782658a5239b324806e0ca2f969e3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3507,6 +3507,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3508,6 +3508,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index 29dbd3a902c2d620b9da191d0bcd9f6e9108034a..3b19ee96281e47591473e50b0b961334 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3531,6 +3532,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3532,6 +3533,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } diff --git a/patches/server/0007-Component-related-conveniences.patch b/patches/server/0007-Component-related-conveniences.patch index 080801005..3237fd40a 100644 --- a/patches/server/0007-Component-related-conveniences.patch +++ b/patches/server/0007-Component-related-conveniences.patch @@ -36,10 +36,10 @@ index 16b742fdaf5524b22cedb4d5ba047559e3ac8371..41698264b3155f20f7a7d473a43aa2da 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 8547e7ff2f1f5b7701fb0f3c3010c14601a5f83e..c5cfc95df8cc8c1768457bc640d447148d0f6644 100644 +index fff7ad7a45f310783ac96b44575ad3db13d537fa..c3f76eaf59b1ed728e8b430ebd69b58bfbad95a1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1036,6 +1036,20 @@ public abstract class PlayerList { +@@ -1037,6 +1037,20 @@ public abstract class PlayerList { } // CraftBukkit end @@ -81,10 +81,10 @@ index 25a5a3b949a0eb632611355e74ccd4865be108ca..14fcfd7c1d3a62833978e163f4e0d6f9 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 53fec4d15ac3d21e5f82c76133ee8dc449d1e67a..9021cf92fcb4d338e70d5b2e3bb6c93df755e0a9 100644 +index 641c4af6bd13c87c26f7932dd5f6f4d2ee20e3c0..4096eb61cbc70679ba15215c725b3262f428c03d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4045,6 +4045,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4058,6 +4058,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return SlotAccess.NULL; } diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index e2898c5c9..5542c96fd 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -22,10 +22,10 @@ index 83cab746d1d6fe25c043c8aee28c39412b90c127..ec6b58dae525c81bbb1c0e2d96fbded6 super(x, y, z); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cdf213b991b61f67604ef7390c089399bc1b5dd5..a3816d42dd0209e30a286d679ef71e61901b655f 100644 +index 7d66cdd30b85b457083220ac3ed05cac605cb959..1b07b0834834ac532636ba2cd151ab153fcd2b5e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1526,6 +1526,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper @@ -66,10 +66,10 @@ index 41698264b3155f20f7a7d473a43aa2dab7ca61bb..77c38ea427dac0176941f8bc26ebe540 public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3b19ee96281e47591473e50b0b961334a422f58a..304b825da36f883b887118a20975f49347f76940 100644 +index 9c5a1d58acd782658a5239b324806e0ca2f969e3..3c1afd3fc37ad0540beb07798f8ecf0cd6acc80f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2810,6 +2810,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2811,6 +2811,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -79,10 +79,10 @@ index 3b19ee96281e47591473e50b0b961334a422f58a..304b825da36f883b887118a20975f493 if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9021cf92fcb4d338e70d5b2e3bb6c93df755e0a9..50762602899893b20b38a6fa5cc516a5575af880 100644 +index 4096eb61cbc70679ba15215c725b3262f428c03d..18f8fdc2ab2c27efcf01be3869072159e91ade4d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -364,7 +364,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -376,7 +376,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { private final Set tags; private final double[] pistonDeltas; private long pistonDeltasGameTime; @@ -91,7 +91,7 @@ index 9021cf92fcb4d338e70d5b2e3bb6c93df755e0a9..50762602899893b20b38a6fa5cc516a5 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -2944,6 +2944,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2957,6 +2957,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.passengers = ImmutableList.copyOf(list); } @@ -105,7 +105,7 @@ index 9021cf92fcb4d338e70d5b2e3bb6c93df755e0a9..50762602899893b20b38a6fa5cc516a5 this.gameEvent(GameEvent.ENTITY_MOUNT, entity); } return true; // CraftBukkit -@@ -2985,6 +2992,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2998,6 +3005,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return false; } // Spigot end @@ -120,7 +120,7 @@ index 9021cf92fcb4d338e70d5b2e3bb6c93df755e0a9..50762602899893b20b38a6fa5cc516a5 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -4876,4 +4891,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4905,4 +4920,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -191,7 +191,7 @@ index 759713f7c646aaf1a918c87a2834a1d405385dad..c6a06e07f0b4bb29b5f4c70dfa53ff6d protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index eccd61f5401ecb2ef0b460337a3284d1844bd85f..559d0efb855175806a2c2ce3a0e5139a96bfec79 100644 +index 33befdab713753d14bfe0e79e96dd925dad331c2..24797621de749e682bfbe8a09cb81bc2def8def8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -219,9 +219,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -5183,10 +5183,10 @@ index cc0a3d9794d05b6bc6ab05f4f2ab8d83134b181d..e1f918d0bd2a70db1aba8bda8717149f HitResult hitResult = world.clip(new ClipContext(pos, vec3, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, entity)); if (hitResult.getType() != HitResult.Type.MISS) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 733158b6f2c2bd03fbe798562ff7bc33280548dc..70a7beb4c6be6304f8174d7c4c8a7b8866844b87 100644 +index fc0dc8e607cc24020106ea1af92b4421a5f9393d..7d744d5b6a9e593e657233b2192f2837bf360deb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1435,4 +1435,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1450,4 +1450,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return !this.getHandle().level().noCollision(this.getHandle(), aabb); } // Paper End - Collision API @@ -5215,10 +5215,10 @@ index 733158b6f2c2bd03fbe798562ff7bc33280548dc..70a7beb4c6be6304f8174d7c4c8a7b88 + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 32fe1e498ee988566213bfcf56bf98c92a3c9871..5374640d92cdf80eb1fdfc21c9076a988222c6d8 100644 +index 621b6a1cacb17fff578855cf2dab8142a5f321ed..420ba2f8adcf15a32598c39c88439a4bd55c89fc 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -563,6 +563,15 @@ public class CraftEventFactory { +@@ -560,6 +560,15 @@ public class CraftEventFactory { // Paper end craftServer.getPluginManager().callEvent(event); @@ -5234,7 +5234,7 @@ index 32fe1e498ee988566213bfcf56bf98c92a3c9871..5374640d92cdf80eb1fdfc21c9076a98 return event; } -@@ -1000,6 +1009,7 @@ public class CraftEventFactory { +@@ -997,6 +1006,7 @@ public class CraftEventFactory { damageCause = DamageCause.ENTITY_EXPLOSION; } event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API @@ -5242,7 +5242,7 @@ index 32fe1e498ee988566213bfcf56bf98c92a3c9871..5374640d92cdf80eb1fdfc21c9076a98 } event.setCancelled(cancelled); -@@ -1114,6 +1124,7 @@ public class CraftEventFactory { +@@ -1111,6 +1121,7 @@ public class CraftEventFactory { } else { entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled } @@ -5250,7 +5250,7 @@ index 32fe1e498ee988566213bfcf56bf98c92a3c9871..5374640d92cdf80eb1fdfc21c9076a98 return event; } -@@ -1177,6 +1188,7 @@ public class CraftEventFactory { +@@ -1174,6 +1185,7 @@ public class CraftEventFactory { EntityDamageEvent event; if (damager != null) { event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API diff --git a/patches/server/0010-Barrels-and-enderchests-6-rows.patch b/patches/server/0010-Barrels-and-enderchests-6-rows.patch index 0982c38ae..89d19b9ae 100644 --- a/patches/server/0010-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0010-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 c5cfc95df8cc8c1768457bc640d447148d0f6644..fbf9a5d7ef7b047984684079d68894d07f580b31 100644 +index c3f76eaf59b1ed728e8b430ebd69b58bfbad95a1..0510d7e8b6f115292b493a036cc30c364ccf7397 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1161,6 +1161,27 @@ public abstract class PlayerList { +@@ -1162,6 +1162,27 @@ public abstract class PlayerList { player.getBukkitEntity().recalculatePermissions(); // CraftBukkit this.server.getCommands().sendCommands(player); } // Paper diff --git a/patches/server/0013-Bring-back-server-name.patch b/patches/server/0013-Bring-back-server-name.patch index 6a8715e23..29d0f4c5c 100644 --- a/patches/server/0013-Bring-back-server-name.patch +++ b/patches/server/0013-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824 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 08fb70dc6bced3026b528590019577eb5a72197f..2d15e34720860d8f5d7922dfcad14ef3449a17ce 100644 +index 8f4e0d7a75634e4b12163b423ba6af76bde74de3..667262ec2a7b53a87e31505e58eff92510ab590b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3013,4 +3013,11 @@ public final class CraftServer implements Server { +@@ -3083,4 +3083,11 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0014-Configurable-server-mod-name.patch b/patches/server/0014-Configurable-server-mod-name.patch index ca9656028..4e2fd49b2 100644 --- a/patches/server/0014-Configurable-server-mod-name.patch +++ b/patches/server/0014-Configurable-server-mod-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a4cc0f1ab0fc138c22b9472ce8d3d6ad7561a7df..bd474cebc35219c62fd667799e5467eea60c08da 100644 +index 1b07b0834834ac532636ba2cd151ab153fcd2b5e..a2b85017236f95b97d5d8017b0ff52db7537f090 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1682,7 +1682,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3492,6 +3508,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3493,6 +3509,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0033-Add-option-to-set-armorstand-step-height.patch b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch index 5b4e272c7..347f72851 100644 --- a/patches/server/0033-Add-option-to-set-armorstand-step-height.patch +++ b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b853bda52a2705200c6efde165632b36fc85fe4e..c760a55ac0743f09ac5ee7cda51c0c2be0ca4fe3 100644 +index f54290965187661ac5ba5cc8fe90e873e71fe66d..000cd8cfab7b298feaf6cf00b29f5e65b0c7a2bd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -322,7 +322,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -334,7 +334,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public double xOld; public double yOld; public double zOld; diff --git a/patches/server/0046-Add-permission-for-F3-N-debug.patch b/patches/server/0046-Add-permission-for-F3-N-debug.patch index 2cfc93ca9..97689df58 100644 --- a/patches/server/0046-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0046-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 127c845228e3923ea0061a26f31b795fcb6cf13f..7ae44092d3a585791d7a2267cfb6b710a9bc037d 100644 +index 8420afe3c04bf23c23038d638b4e9195134846f7..da3a4b30ea1fde75d616a0aaf7e85e4783a9f13a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1155,6 +1155,7 @@ public abstract class PlayerList { +@@ -1156,6 +1156,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + permissionLevel); } diff --git a/patches/server/0055-Configurable-void-damage-height-and-damage.patch b/patches/server/0055-Configurable-void-damage-height-and-damage.patch index be4cf3a72..0081ba5b5 100644 --- a/patches/server/0055-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0055-Configurable-void-damage-height-and-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c760a55ac0743f09ac5ee7cda51c0c2be0ca4fe3..403ff6ad6bfca4813397b922e5e97c85e613b27f 100644 +index 000cd8cfab7b298feaf6cf00b29f5e65b0c7a2bd..3bf477438d30f6ea3bbf3cbc33cf0b5743452ffd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -901,7 +901,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -914,7 +914,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void checkBelowWorld() { // Paper start - Configurable nether ceiling damage @@ -18,7 +18,7 @@ index c760a55ac0743f09ac5ee7cda51c0c2be0ca4fe3..403ff6ad6bfca4813397b922e5e97c85 && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { // Paper end diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 60930a907a18a27d056b906734f9026ed3d345ec..0b262a228d4a825beaaaab7691881530fe271dae 100644 +index 2123b296b69f05601b0a6c51c8ad58ca263997f8..0d891511e9c34afbb970a2b2a560f6cd18d04faa 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2506,7 +2506,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0056-Add-canSaveToDisk-to-Entity.patch b/patches/server/0056-Add-canSaveToDisk-to-Entity.patch index fab19a164..5464d7937 100644 --- a/patches/server/0056-Add-canSaveToDisk-to-Entity.patch +++ b/patches/server/0056-Add-canSaveToDisk-to-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 403ff6ad6bfca4813397b922e5e97c85e613b27f..2831d061ae0f5a7a5d70aef0715078c0607b5701 100644 +index 3bf477438d30f6ea3bbf3cbc33cf0b5743452ffd..03811b4dca610cf0fa3dc6ca0cc7f47d6f8b77ee 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -480,6 +480,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -492,6 +492,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return false; } diff --git a/patches/server/0060-Add-5-second-tps-average-in-tps.patch b/patches/server/0060-Add-5-second-tps-average-in-tps.patch index 593fa84ff..55f5ef8a0 100644 --- a/patches/server/0060-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0060-Add-5-second-tps-average-in-tps.patch @@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216 setListData(vector); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9c803f615cc78c7512125e42f74f25e577ff3606..f9d0c8da7d9a9756879f69b7dd04b635f97fe289 100644 +index 3ff9cc3371601d3db513ebb35271d9bc1207af4b..6e37a7b628466397b6b29b507f7aff555a2063b2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 43e08e2722d3324c06494f30358adf7c5a67bc70..6e240eb1c656fb362d2b8005145fd840d0a088fb 100644 +index 625cee30e80123d502851bbfb30c89903c2d0fbb..5aaf8ffac3695f090b739d3f05847a37b58140b5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1862,7 +1862,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1875,7 +1875,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.isInWater() || flag; } diff --git a/patches/server/0129-Fix-stuck-in-portals.patch b/patches/server/0129-Fix-stuck-in-portals.patch index 4439bb8f3..0e3a3686b 100644 --- a/patches/server/0129-Fix-stuck-in-portals.patch +++ b/patches/server/0129-Fix-stuck-in-portals.patch @@ -17,10 +17,10 @@ index c177b6ebf0e2d10d19674094a4fed8637d305bda..81bfdafb84c543938375a1a90dab49a8 // CraftBukkit end this.setServerLevel(worldserver); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6e240eb1c656fb362d2b8005145fd840d0a088fb..b6f854a5f3dc79ef19aa20c7fde642e703091453 100644 +index 5aaf8ffac3695f090b739d3f05847a37b58140b5..3f4b14ebbab07864b3fe00ecaf3094ee48946b24 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3063,12 +3063,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3076,12 +3076,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return Vec3.directionFromRotation(this.getRotationVector()); } diff --git a/patches/server/0149-Drowning-Settings.patch b/patches/server/0149-Drowning-Settings.patch index 39560626a..7e4c9e17c 100644 --- a/patches/server/0149-Drowning-Settings.patch +++ b/patches/server/0149-Drowning-Settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b6f854a5f3dc79ef19aa20c7fde642e703091453..ab112953d312af47948b7d86b8574753410c1658 100644 +index 3f4b14ebbab07864b3fe00ecaf3094ee48946b24..53eebe175f4787f5fb88dda11b4d301824d6aa70 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3308,7 +3308,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3321,7 +3321,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public int getMaxAirSupply() { @@ -18,7 +18,7 @@ index b6f854a5f3dc79ef19aa20c7fde642e703091453..ab112953d312af47948b7d86b8574753 public int getAirSupply() { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ad73979034b726979f0c032924e248bfb2ff09ef..06f05449cc1fc30c3023c09e2995bf8116ea329b 100644 +index fb751c53bd818868cc050bfc18053d8a2d850c83..2c9fb811d17cbfdcef26721938e8e79ee08fe861 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -440,7 +440,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0177-API-for-any-mob-to-burn-daylight.patch b/patches/server/0177-API-for-any-mob-to-burn-daylight.patch index 1a16878d9..338e7f142 100644 --- a/patches/server/0177-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0177-API-for-any-mob-to-burn-daylight.patch @@ -6,10 +6,10 @@ 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 ab112953d312af47948b7d86b8574753410c1658..1aad0bed631b0a47a93de131136c90f8d567cb77 100644 +index 53eebe175f4787f5fb88dda11b4d301824d6aa70..9d0e7b1982acb5bb48cfc5b804bcc4cc4ac93fd8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -484,6 +484,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -496,6 +496,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return true; } @@ -32,7 +32,7 @@ index ab112953d312af47948b7d86b8574753410c1658..1aad0bed631b0a47a93de131136c90f8 return this.hardCollides; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 513f58b00293134fade28a289afde71a69e9f447..6d7cb3e8f82cc6424db12fa9efbda6f2c7978228 100644 +index 3cfa9cad7d59a6542ef64dcc0f3fbec346ab5b90..65e543bb44d94bcaa4abaa3272fb7f3e9b35fea8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -264,6 +264,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -353,10 +353,10 @@ index a676d66dcb5ee72e6d8ffef4e210a3d2c8d605f2..0bc90b6d5c5a3cb3477d41336a9bb113 // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 3985663536d17afe73ece47702bdc41dcfd46819..41089892e735eec7e3914084bbc278d67c4b6ea0 100644 +index 98f7d917f8377927472414bee79d2de4269ec0bc..1445f52031104baf81e2b5373a400a588535b29d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -209,6 +209,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -218,6 +218,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { this.entity = entity; } @@ -369,10 +369,10 @@ index 3985663536d17afe73ece47702bdc41dcfd46819..41089892e735eec7e3914084bbc278d6 /* * Order is *EXTREMELY* important -- keep it right! =D diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3ca4ba907b42dfddf24dbab56e4bdfbc8a60f72a..70830f57e3929bc37b20fd95fc4998c717e99706 100644 +index a26a622a4782b2f1227ffac215561c86e6c1b0cb..f4ab4d016a467dbd3232726a3ab500be083d4747 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1082,5 +1082,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1089,5 +1089,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { if (slot == null) return; getHandle().broadcastBreakEvent(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot)); } diff --git a/patches/server/0181-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0181-Add-toggle-for-end-portal-safe-teleporting.patch index 151d46083..c68c73157 100644 --- a/patches/server/0181-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0181-Add-toggle-for-end-portal-safe-teleporting.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1aad0bed631b0a47a93de131136c90f8d567cb77..642146bfce20d46d95289728ec6e0059a27079b2 100644 +index 9d0e7b1982acb5bb48cfc5b804bcc4cc4ac93fd8..196c8b43d096289f02293f8958d591e9738e3826 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3137,7 +3137,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3150,7 +3150,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.processPortalCooldown(); diff --git a/patches/server/0184-Allow-player-join-full-server-by-permission.patch b/patches/server/0184-Allow-player-join-full-server-by-permission.patch index 27f9b43cd..e34bb6a16 100644 --- a/patches/server/0184-Allow-player-join-full-server-by-permission.patch +++ b/patches/server/0184-Allow-player-join-full-server-by-permission.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3cd656afdd612c265c812233736f5f343c0a6e48..7f46fac70a4cf041443197b1832a848974b6c45a 100644 +index d057f0f6755595fc5e1fce7ed09b1fc60906d9cb..89e773a73a0010fe376d0c7a68335eb72e6fa355 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -740,7 +740,7 @@ public abstract class PlayerList { +@@ -741,7 +741,7 @@ public abstract class PlayerList { event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure } else { // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null; diff --git a/patches/server/0213-Added-the-ability-to-add-combustible-items.patch b/patches/server/0213-Added-the-ability-to-add-combustible-items.patch index d7661da6a..ccb3f337e 100644 --- a/patches/server/0213-Added-the-ability-to-add-combustible-items.patch +++ b/patches/server/0213-Added-the-ability-to-add-combustible-items.patch @@ -51,10 +51,10 @@ index ca2052804ad829a1528a9c5a0a792275beead113..997d0fab71eacc6466ffe3bc8f6349e5 private int maxStack = MAX_STACK; public List transaction = new java.util.ArrayList(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8a5a3c1754b65c38be5fbbd34cc52942d38df70a..10c5ed10102ca57e3a10a86d30ce32d5550f43e7 100644 +index 131f87a5007bc533f5129bab07044d52d2e94612..96e8c253cb39822c2b856cf06e78406106ce431c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1457,6 +1457,19 @@ public final class CraftServer implements Server { +@@ -1527,6 +1527,19 @@ public final class CraftServer implements Server { return true; } diff --git a/patches/server/0263-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0263-Option-to-disable-kick-for-out-of-order-chat.patch index fb65a4e88..f4d9399b1 100644 --- a/patches/server/0263-Option-to-disable-kick-for-out-of-order-chat.patch +++ b/patches/server/0263-Option-to-disable-kick-for-out-of-order-chat.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable kick for out of order chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 14462c45d07e07ee8329ab2f9448b776e3e0a73a..8303cdf0590dc50452b1fd747ec78e46026152f9 100644 +index 8fd95b7986a63e4b784c0c361687d05a9f648a13..24c93583ce1c0b58e434345974c9fd025720f75a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2454,7 +2454,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2455,7 +2455,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic do { instant1 = (Instant) this.lastChatTimeStamp.get(); if (timestamp.isBefore(instant1)) { diff --git a/patches/server/0267-Add-toggle-for-RNG-manipulation.patch b/patches/server/0267-Add-toggle-for-RNG-manipulation.patch index 77c3bb323..f16483840 100644 --- a/patches/server/0267-Add-toggle-for-RNG-manipulation.patch +++ b/patches/server/0267-Add-toggle-for-RNG-manipulation.patch @@ -7,10 +7,10 @@ Paper patches RNG maniplulation by using a shared (and locked) random source. This comes with a performance gain, but technical players may prefer the ability to manipulate RNG. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 642146bfce20d46d95289728ec6e0059a27079b2..db30761805fe90279297ea939fba45530d7a5db0 100644 +index 196c8b43d096289f02293f8958d591e9738e3826..0be80982b8bdcbb884aeb9a257693f0035928bef 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -603,7 +603,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -615,7 +615,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.bb = Entity.INITIAL_AABB; this.stuckSpeedMultiplier = Vec3.ZERO; this.nextStep = 1.0F; diff --git a/patches/server/0270-Allow-custom-ChatDecorators.patch b/patches/server/0270-Allow-custom-ChatDecorators.patch index 4c87febfc..8e8bfbf89 100644 --- a/patches/server/0270-Allow-custom-ChatDecorators.patch +++ b/patches/server/0270-Allow-custom-ChatDecorators.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow custom ChatDecorators Requires NMS to utilize. I'll write an API for this once our upstreams calm down with the changes. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0255f5f21da2a108a25c8a166717706d300b0cae..e5399649e6a34145dfe2154acdd9887ba4f9f1cb 100644 +index cb579a3167518e96e40ba0203f85aad10064e8d5..b6abc36cd0209ebdd6deb233bbe7b16dd139c91b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2658,6 +2658,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { @@ -1405,15 +1405,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop level.getAllEntities().forEach(entity -> { +@@ -1520,21 +1520,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { // Paper - Ensure main @@ -672,7 +686,7 @@ index 7f46fac70a4cf041443197b1832a848974b6c45a..fb3a59fda3d4f5b2bca665b5665df2a3 int numSaved = 0; long now = MinecraftServer.currentTick; for (int i = 0; i < this.players.size(); ++i) { -@@ -1259,7 +1259,7 @@ public abstract class PlayerList { +@@ -1260,7 +1260,7 @@ public abstract class PlayerList { } // Paper end } diff --git a/patches/server/0272-Remove-Mojang-Profiler.patch b/patches/server/0272-Remove-Mojang-Profiler.patch index 607c6f360..202447ac6 100644 --- a/patches/server/0272-Remove-Mojang-Profiler.patch +++ b/patches/server/0272-Remove-Mojang-Profiler.patch @@ -39,7 +39,7 @@ index 5f6cc8b16af6dce3b74f0c2c662b0ecf84ae8d36..52b06c34d9d3ffb8844556e7b0eaed5a return b0; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6f3074ff02039a5b7fd139d36f23d3d571c5b7bc..762028f25430013b2ae11caf76405cab681b1ab5 100644 +index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed043e9c2940 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -341,13 +341,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur @@ -192,7 +192,7 @@ index 6f3074ff02039a5b7fd139d36f23d3d571c5b7bc..762028f25430013b2ae11caf76405cab try { //worldserver.timings.doTick.startTiming(); // Spigot // Purpur -@@ -1590,17 +1590,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { this.executeBlocking(() -> { this.saveDebugReport(path.resolve("server")); -@@ -2536,40 +2536,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 1.0E-7D) { movement = movement.multiply(this.stuckSpeedMultiplier); this.stuckSpeedMultiplier = Vec3.ZERO; -@@ -1139,7 +1139,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1152,7 +1152,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Paper start - ignore movement changes while inactive. if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { setDeltaMovement(Vec3.ZERO); @@ -1093,7 +1093,7 @@ index db30761805fe90279297ea939fba45530d7a5db0..7648d6faf9ef9308c92bdbd481b6339e return; } // Paper end -@@ -1160,8 +1160,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1173,8 +1173,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); } @@ -1104,7 +1104,7 @@ index db30761805fe90279297ea939fba45530d7a5db0..7648d6faf9ef9308c92bdbd481b6339e boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag1 = !Mth.equal(movement.z, vec3d1.z); -@@ -1180,7 +1180,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1193,7 +1193,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition); if (this.isRemoved()) { @@ -1113,7 +1113,7 @@ index db30761805fe90279297ea939fba45530d7a5db0..7648d6faf9ef9308c92bdbd481b6339e } else { if (this.horizontalCollision) { Vec3 vec3d2 = this.getDeltaMovement(); -@@ -1318,7 +1318,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1331,7 +1331,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setRemainingFireTicks(-this.getFireImmuneTicks()); } @@ -1122,7 +1122,7 @@ index db30761805fe90279297ea939fba45530d7a5db0..7648d6faf9ef9308c92bdbd481b6339e } } // Paper start - detailed watchdog information -@@ -3104,7 +3104,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3117,7 +3117,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit @@ -1131,7 +1131,7 @@ index db30761805fe90279297ea939fba45530d7a5db0..7648d6faf9ef9308c92bdbd481b6339e this.portalTime = i; // Paper start io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER); -@@ -3122,7 +3122,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3135,7 +3135,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } // Paper // CraftBukkit end @@ -1140,7 +1140,7 @@ index db30761805fe90279297ea939fba45530d7a5db0..7648d6faf9ef9308c92bdbd481b6339e } this.isInsidePortal = false; -@@ -3593,14 +3593,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3606,14 +3606,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end if (this.level() instanceof ServerLevel && !this.isRemoved()) { @@ -1157,7 +1157,7 @@ index db30761805fe90279297ea939fba45530d7a5db0..7648d6faf9ef9308c92bdbd481b6339e PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit if (shapedetectorshape == null) { -@@ -3634,7 +3634,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3647,7 +3647,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.unRide(); // CraftBukkit end @@ -1166,7 +1166,7 @@ index db30761805fe90279297ea939fba45530d7a5db0..7648d6faf9ef9308c92bdbd481b6339e // Paper start - Change lead drop timing to prevent dupe if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3657,10 +3657,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3670,10 +3670,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.removeAfterChangingDimensions(); @@ -1180,7 +1180,7 @@ index db30761805fe90279297ea939fba45530d7a5db0..7648d6faf9ef9308c92bdbd481b6339e } } else { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5ad5bc75af60a16b02c9604dd027403b5b6a67e6..5427fb8c2f5a53a8d293fb4c36f6620ca0205e38 100644 +index 428c99b98b8161eac82c651a477ba478b4ee0ce7..f8b920d7b7afff39a62c8a8a08512a7c59a23687 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -411,7 +411,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0275-Debug-Marker-API.patch b/patches/server/0275-Debug-Marker-API.patch index fc500df7f..ab2c7fe68 100644 --- a/patches/server/0275-Debug-Marker-API.patch +++ b/patches/server/0275-Debug-Marker-API.patch @@ -5,10 +5,10 @@ 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 10c5ed10102ca57e3a10a86d30ce32d5550f43e7..e7f2d384009a659b61c17e2e7b7ed99d01802266 100644 +index 96e8c253cb39822c2b856cf06e78406106ce431c..52c5efb011fa751f2a4dff7b69fde2a42fc71e12 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1468,6 +1468,42 @@ public final class CraftServer implements Server { +@@ -1538,6 +1538,42 @@ public final class CraftServer implements Server { public void removeFuel(org.bukkit.Material material) { net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material))); } diff --git a/patches/server/0282-Add-item-packet-serialize-event.patch b/patches/server/0282-Add-item-packet-serialize-event.patch index 8d37e17ae..734d008cb 100644 --- a/patches/server/0282-Add-item-packet-serialize-event.patch +++ b/patches/server/0282-Add-item-packet-serialize-event.patch @@ -36,10 +36,10 @@ index 9938bb90bef84cf784f9a1ceb02a1a45aa8b48a1..1f4b64a5f812376c499c98cb4be62469 this.writeId(BuiltInRegistries.ITEM, item); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5fbf050a5f6a6c59089cb67e880f02f99844e384..7c09843aafb4f744ecd0f36d6a0abc253fb5322d 100644 +index b1bbe7bb30ae786ea09ef0e9d949ed043e9c2940..1143e2e76ef896ecf54fa0296c66815b6f856740 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1545,6 +1545,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop this.getY() >= v) && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { // Paper end