From fe9fc944c82d8e9ba3be6e3a75cdaa6adfde2b77 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Fri, 25 Sep 2026 18:14:43 +0200 Subject: [PATCH 01/10] Draft 26.3 post --- src/content/posts/26-3.mdx | 67 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/content/posts/26-3.mdx diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx new file mode 100644 index 00000000..93da0eb1 --- /dev/null +++ b/src/content/posts/26-3.mdx @@ -0,0 +1,67 @@ +--- +title: "26.3" +date: "2026-09-26T12:00:00Z" +author: "Paper Team" +--- + +## The 26.3 Update + + + +We would like to thank everyone that worked on this update: + + + +If you'd like to support PaperMC as a whole, you can find more information at https://papermc.io/sponsors. + +## Upcoming changes for server owners + +We are currently in the process of preparing a config merge, so that almost all of the config options currently split across the various Bukkit, Spigot, and Paper files finally go together. You can track the current progress and changes here: https://github.com/PaperMC/Paper/issues/14304 + +--- + +## Faster CI build times and deployment + +[Namespace](https://namespace.so/) are now sponsoring our CI runners! A lot of waiting time on Minecraft releases and commits in general came down to slow CI, and TeamCity configuration editing was also a fairly slow process whenever we moved or created version branches. +With the switch, deployment of builds, API, and dev bundles has become significantly faster, and with our own efforts in parallel, has simplified internal processes around updating to new Minecraft versions. + +--- + +## Other changes and additions + +A lot of API that was previous marked as experimental, including most of the data component API, have had their experimental annotations removed! + +Here is a selection of other notable additions since the last major update post: + +### API + +* Player post-processing effects can be viewed and modified via [Player#postEffects](https://jd.papermc.io/paper/26.3/org/bukkit/entity/Player.html#postEffects()) +* [EntityConstructEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityConstructEvent.html) is fired when entities such as golems or the Wither are created from block patterns +* [EntityCollideWithEntityEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityCollideWithEntityEvent.html) allows controlling entity pushing +* Sulfur Cube item swallowing can now be controlled via [SulfurCube#swallow](https://jd.papermc.io/paper/26.3/org/bukkit/entity/SulfurCube.html) and [SulfurCubeSwallowItemEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/SulfurCubeSwallowItemEvent.html) +* [CreakingHeart](https://jd.papermc.io/paper/26.3/org/bukkit/block/CreakingHeart.html) now contains its Creaking entity and allows setting or spawning its protector +* [PlayerCodeOfConductSendEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/connection/configuration/PlayerCodeOfConductSendEvent.html) allows modifying the Code of Conduct sent to individual players +* The reason an entity was removed can now be queried via [Entity#getRemovalReason](https://jd.papermc.io/paper/26.3/org/bukkit/entity/Entity.html#getRemovalReason()) and [RemovalReason](https://jd.papermc.io/paper/26.3/io/papermc/paper/entity/RemovalReason.html) +* [PlayerAnimationEvent](https://jd.papermc.io/paper/26.3/org/bukkit/event/player/PlayerAnimationEvent.html) is deprecated in favor of [PlayerArmSwingEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/player/PlayerArmSwingEvent.html) +* [PotionEffectTypeCategory](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectTypeCategory.html) is deprecated in favor of [PotionEffectType.Category](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectType.Category.html) +* [PotionBrewer](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionBrewer.html) are now deprecated given they have been data-driven + + +### Reminder: Versioning change + +We have replaced the old `-R0.1-SNAPSHOT` suffix with a much more informative versioning scheme. See [the 26.1 announcement](https://papermc.io/news/26-1/) for more information. + +--- + + From 736967ce73217538a4bbc86772c1c255460d1601 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Fri, 25 Sep 2026 18:17:12 +0200 Subject: [PATCH 02/10] Lint --- src/content/posts/26-3.mdx | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx index 93da0eb1..3b4f1924 100644 --- a/src/content/posts/26-3.mdx +++ b/src/content/posts/26-3.mdx @@ -46,17 +46,16 @@ Here is a selection of other notable additions since the last major update post: ### API -* Player post-processing effects can be viewed and modified via [Player#postEffects](https://jd.papermc.io/paper/26.3/org/bukkit/entity/Player.html#postEffects()) -* [EntityConstructEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityConstructEvent.html) is fired when entities such as golems or the Wither are created from block patterns -* [EntityCollideWithEntityEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityCollideWithEntityEvent.html) allows controlling entity pushing -* Sulfur Cube item swallowing can now be controlled via [SulfurCube#swallow](https://jd.papermc.io/paper/26.3/org/bukkit/entity/SulfurCube.html) and [SulfurCubeSwallowItemEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/SulfurCubeSwallowItemEvent.html) -* [CreakingHeart](https://jd.papermc.io/paper/26.3/org/bukkit/block/CreakingHeart.html) now contains its Creaking entity and allows setting or spawning its protector -* [PlayerCodeOfConductSendEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/connection/configuration/PlayerCodeOfConductSendEvent.html) allows modifying the Code of Conduct sent to individual players -* The reason an entity was removed can now be queried via [Entity#getRemovalReason](https://jd.papermc.io/paper/26.3/org/bukkit/entity/Entity.html#getRemovalReason()) and [RemovalReason](https://jd.papermc.io/paper/26.3/io/papermc/paper/entity/RemovalReason.html) -* [PlayerAnimationEvent](https://jd.papermc.io/paper/26.3/org/bukkit/event/player/PlayerAnimationEvent.html) is deprecated in favor of [PlayerArmSwingEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/player/PlayerArmSwingEvent.html) -* [PotionEffectTypeCategory](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectTypeCategory.html) is deprecated in favor of [PotionEffectType.Category](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectType.Category.html) -* [PotionBrewer](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionBrewer.html) are now deprecated given they have been data-driven - +- Player post-processing effects can be viewed and modified via [Player#postEffects]() +- [EntityConstructEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityConstructEvent.html) is fired when entities such as golems or the Wither are created from block patterns +- [EntityCollideWithEntityEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityCollideWithEntityEvent.html) allows controlling entity pushing +- Sulfur Cube item swallowing can now be controlled via [SulfurCube#swallow](https://jd.papermc.io/paper/26.3/org/bukkit/entity/SulfurCube.html) and [SulfurCubeSwallowItemEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/SulfurCubeSwallowItemEvent.html) +- [CreakingHeart](https://jd.papermc.io/paper/26.3/org/bukkit/block/CreakingHeart.html) now contains its Creaking entity and allows setting or spawning its protector +- [PlayerCodeOfConductSendEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/connection/configuration/PlayerCodeOfConductSendEvent.html) allows modifying the Code of Conduct sent to individual players +- The reason an entity was removed can now be queried via [Entity#getRemovalReason]() and [RemovalReason](https://jd.papermc.io/paper/26.3/io/papermc/paper/entity/RemovalReason.html) +- [PlayerAnimationEvent](https://jd.papermc.io/paper/26.3/org/bukkit/event/player/PlayerAnimationEvent.html) is deprecated in favor of [PlayerArmSwingEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/player/PlayerArmSwingEvent.html) +- [PotionEffectTypeCategory](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectTypeCategory.html) is deprecated in favor of [PotionEffectType.Category](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectType.Category.html) +- [PotionBrewer](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionBrewer.html) are now deprecated given they have been data-driven ### Reminder: Versioning change From 92b4efaf643583b6a3a00b8ce2cf59129e701cda Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Fri, 25 Sep 2026 18:50:02 +0200 Subject: [PATCH 03/10] Add note --- src/content/posts/26-3.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx index 3b4f1924..daa33c76 100644 --- a/src/content/posts/26-3.mdx +++ b/src/content/posts/26-3.mdx @@ -27,7 +27,7 @@ If you'd like to support PaperMC as a whole, you can find more information at ht ## Upcoming changes for server owners -We are currently in the process of preparing a config merge, so that almost all of the config options currently split across the various Bukkit, Spigot, and Paper files finally go together. You can track the current progress and changes here: https://github.com/PaperMC/Paper/issues/14304 +We are currently in the process of preparing a config merge, so that almost all of the config options currently split across the various Bukkit, Spigot, and Paper files finally go together. Our current plan is for this to land in the next major release, aka 26.4. You can track the current progress and changes here: https://github.com/PaperMC/Paper/issues/14304 --- From 6f2d1b4c54fd9f794c2d8557f235304450a77a70 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Sat, 26 Sep 2026 13:28:06 +0200 Subject: [PATCH 04/10] a --- src/content/posts/26-3.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx index daa33c76..367e8f19 100644 --- a/src/content/posts/26-3.mdx +++ b/src/content/posts/26-3.mdx @@ -36,6 +36,8 @@ We are currently in the process of preparing a config merge, so that almost all [Namespace](https://namespace.so/) are now sponsoring our CI runners! A lot of waiting time on Minecraft releases and commits in general came down to slow CI, and TeamCity configuration editing was also a fairly slow process whenever we moved or created version branches. With the switch, deployment of builds, API, and dev bundles has become significantly faster, and with our own efforts in parallel, has simplified internal processes around updating to new Minecraft versions. +In the future, we also plan on making produced jars more tamper-proof, e.g. by signing them. The pull request workflows will also be made faster later. + --- ## Other changes and additions From b0b341d8081e150d2b0fd5649f3ffd9ef01e2109 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Sun, 27 Sep 2026 10:02:13 +0200 Subject: [PATCH 05/10] b --- src/content/posts/26-3.mdx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx index 367e8f19..7ad1a7c0 100644 --- a/src/content/posts/26-3.mdx +++ b/src/content/posts/26-3.mdx @@ -38,17 +38,26 @@ With the switch, deployment of builds, API, and dev bundles has become significa In the future, we also plan on making produced jars more tamper-proof, e.g. by signing them. The pull request workflows will also be made faster later. +Next to the above, we have also decreased the distributed Jar size by about 10mb! + --- -## Other changes and additions +## For developers A lot of API that was previous marked as experimental, including most of the data component API, have had their experimental annotations removed! +### Events for working with cushions + +We introduced [EntityBreakEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityBreakEvent.html) and [EntityBreakByEntityEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityBreakByEntityEvent.html), similar to the existing hanging break events. Next to that, you can use the pre-existing [EntityPlaceEvent](https://jd.papermc.io/paper/26.3/org/bukkit/event/entity/EntityPlaceEvent.html). + +## Other changes and additions + Here is a selection of other notable additions since the last major update post: ### API - Player post-processing effects can be viewed and modified via [Player#postEffects]() +- [Mob#setDespawnInPeacefulOverride]() is no longer deprecated and functions again - [EntityConstructEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityConstructEvent.html) is fired when entities such as golems or the Wither are created from block patterns - [EntityCollideWithEntityEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityCollideWithEntityEvent.html) allows controlling entity pushing - Sulfur Cube item swallowing can now be controlled via [SulfurCube#swallow](https://jd.papermc.io/paper/26.3/org/bukkit/entity/SulfurCube.html) and [SulfurCubeSwallowItemEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/SulfurCubeSwallowItemEvent.html) From 5db3f706b121af24405a3c78d41f0aa300e0463e Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Sun, 27 Sep 2026 10:15:39 +0200 Subject: [PATCH 06/10] c --- src/content/posts/26-3.mdx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx index 7ad1a7c0..155ae92c 100644 --- a/src/content/posts/26-3.mdx +++ b/src/content/posts/26-3.mdx @@ -12,13 +12,13 @@ We would like to thank everyone that worked on this update: @@ -63,10 +63,13 @@ Here is a selection of other notable additions since the last major update post: - Sulfur Cube item swallowing can now be controlled via [SulfurCube#swallow](https://jd.papermc.io/paper/26.3/org/bukkit/entity/SulfurCube.html) and [SulfurCubeSwallowItemEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/SulfurCubeSwallowItemEvent.html) - [CreakingHeart](https://jd.papermc.io/paper/26.3/org/bukkit/block/CreakingHeart.html) now contains its Creaking entity and allows setting or spawning its protector - [PlayerCodeOfConductSendEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/connection/configuration/PlayerCodeOfConductSendEvent.html) allows modifying the Code of Conduct sent to individual players -- The reason an entity was removed can now be queried via [Entity#getRemovalReason]() and [RemovalReason](https://jd.papermc.io/paper/26.3/io/papermc/paper/entity/RemovalReason.html) -- [PlayerAnimationEvent](https://jd.papermc.io/paper/26.3/org/bukkit/event/player/PlayerAnimationEvent.html) is deprecated in favor of [PlayerArmSwingEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/player/PlayerArmSwingEvent.html) -- [PotionEffectTypeCategory](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectTypeCategory.html) is deprecated in favor of [PotionEffectType.Category](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectType.Category.html) -- [PotionBrewer](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionBrewer.html) are now deprecated given they have been data-driven +- The Vanilla reason an entity was removed can now be queried via [Entity#getRemovalReason]() and [RemovalReason](https://jd.papermc.io/paper/26.3/io/papermc/paper/entity/RemovalReason.html) + +#### Deprecations + +- [PlayerAnimationEvent](https://jd.papermc.io/paper/26.3/org/bukkit/event/player/PlayerAnimationEvent.html) has been deprecated in favor of [PlayerArmSwingEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/player/PlayerArmSwingEvent.html) +- [PotionEffectTypeCategory](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectTypeCategory.html) has been deprecated in favor of [PotionEffectType.Category](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionEffectType.Category.html) +- [PotionBrewer](https://jd.papermc.io/paper/26.3/org/bukkit/potion/PotionBrewer.html) have been now deprecated given they have been data-driven, see [BrewingRecipe](https://jd.papermc.io/paper/26.3/org/bukkit/inventory/BrewingRecipe.html) ### Reminder: Versioning change From deb6ad035996089c9fb1e895c882e4274a753102 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Mon, 28 Sep 2026 16:52:51 +0200 Subject: [PATCH 07/10] Update src/content/posts/26-3.mdx Co-authored-by: Strokkur24 --- src/content/posts/26-3.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx index 155ae92c..d3b54375 100644 --- a/src/content/posts/26-3.mdx +++ b/src/content/posts/26-3.mdx @@ -60,7 +60,7 @@ Here is a selection of other notable additions since the last major update post: - [Mob#setDespawnInPeacefulOverride]() is no longer deprecated and functions again - [EntityConstructEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityConstructEvent.html) is fired when entities such as golems or the Wither are created from block patterns - [EntityCollideWithEntityEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityCollideWithEntityEvent.html) allows controlling entity pushing -- Sulfur Cube item swallowing can now be controlled via [SulfurCube#swallow](https://jd.papermc.io/paper/26.3/org/bukkit/entity/SulfurCube.html) and [SulfurCubeSwallowItemEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/SulfurCubeSwallowItemEvent.html) +- Sulfur Cube item swallowing can now be controlled via [SulfurCube#swallow](https://jd.papermc.io/paper/26.3/org/bukkit/entity/SulfurCube.html#swallow(org.bukkit.inventory.ItemStack)) and [SulfurCubeSwallowItemEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/SulfurCubeSwallowItemEvent.html) - [CreakingHeart](https://jd.papermc.io/paper/26.3/org/bukkit/block/CreakingHeart.html) now contains its Creaking entity and allows setting or spawning its protector - [PlayerCodeOfConductSendEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/connection/configuration/PlayerCodeOfConductSendEvent.html) allows modifying the Code of Conduct sent to individual players - The Vanilla reason an entity was removed can now be queried via [Entity#getRemovalReason]() and [RemovalReason](https://jd.papermc.io/paper/26.3/io/papermc/paper/entity/RemovalReason.html) From bf2ef8ac8a0b7b3ed9b023d560bec9d7d5e49030 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Mon, 28 Sep 2026 16:53:01 +0200 Subject: [PATCH 08/10] Update src/content/posts/26-3.mdx Co-authored-by: Strokkur24 --- src/content/posts/26-3.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx index d3b54375..ea06f4a6 100644 --- a/src/content/posts/26-3.mdx +++ b/src/content/posts/26-3.mdx @@ -38,7 +38,7 @@ With the switch, deployment of builds, API, and dev bundles has become significa In the future, we also plan on making produced jars more tamper-proof, e.g. by signing them. The pull request workflows will also be made faster later. -Next to the above, we have also decreased the distributed Jar size by about 10mb! +Next to the above, we have also decreased the distributed JAR file size by about 10mb! --- From 1a2f2a08547e37d50d356d054146b7a0b3476f9c Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Mon, 28 Sep 2026 16:53:12 +0200 Subject: [PATCH 09/10] Update src/content/posts/26-3.mdx Co-authored-by: Strokkur24 --- src/content/posts/26-3.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx index ea06f4a6..fbc10b45 100644 --- a/src/content/posts/26-3.mdx +++ b/src/content/posts/26-3.mdx @@ -36,7 +36,7 @@ We are currently in the process of preparing a config merge, so that almost all [Namespace](https://namespace.so/) are now sponsoring our CI runners! A lot of waiting time on Minecraft releases and commits in general came down to slow CI, and TeamCity configuration editing was also a fairly slow process whenever we moved or created version branches. With the switch, deployment of builds, API, and dev bundles has become significantly faster, and with our own efforts in parallel, has simplified internal processes around updating to new Minecraft versions. -In the future, we also plan on making produced jars more tamper-proof, e.g. by signing them. The pull request workflows will also be made faster later. +In the future, we also plan on making produced JAR files more tamper-proof, e.g. by signing them. The pull request workflows will also be made faster later. Next to the above, we have also decreased the distributed JAR file size by about 10mb! From 22a818a1917b1afc06b9393e203713e572aca852 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Mon, 28 Sep 2026 16:56:28 +0200 Subject: [PATCH 10/10] lint --- src/content/posts/26-3.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/posts/26-3.mdx b/src/content/posts/26-3.mdx index fbc10b45..6e6ec7a5 100644 --- a/src/content/posts/26-3.mdx +++ b/src/content/posts/26-3.mdx @@ -60,7 +60,7 @@ Here is a selection of other notable additions since the last major update post: - [Mob#setDespawnInPeacefulOverride]() is no longer deprecated and functions again - [EntityConstructEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityConstructEvent.html) is fired when entities such as golems or the Wither are created from block patterns - [EntityCollideWithEntityEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/EntityCollideWithEntityEvent.html) allows controlling entity pushing -- Sulfur Cube item swallowing can now be controlled via [SulfurCube#swallow](https://jd.papermc.io/paper/26.3/org/bukkit/entity/SulfurCube.html#swallow(org.bukkit.inventory.ItemStack)) and [SulfurCubeSwallowItemEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/SulfurCubeSwallowItemEvent.html) +- Sulfur Cube item swallowing can now be controlled via [SulfurCube#swallow]() and [SulfurCubeSwallowItemEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/entity/SulfurCubeSwallowItemEvent.html) - [CreakingHeart](https://jd.papermc.io/paper/26.3/org/bukkit/block/CreakingHeart.html) now contains its Creaking entity and allows setting or spawning its protector - [PlayerCodeOfConductSendEvent](https://jd.papermc.io/paper/26.3/io/papermc/paper/event/connection/configuration/PlayerCodeOfConductSendEvent.html) allows modifying the Code of Conduct sent to individual players - The Vanilla reason an entity was removed can now be queried via [Entity#getRemovalReason]() and [RemovalReason](https://jd.papermc.io/paper/26.3/io/papermc/paper/entity/RemovalReason.html)