aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-11-09 21:44:55 +0100
committerNassim Jahnke <[email protected]>2024-11-09 21:44:55 +0100
commit0af4e84eff5e8f2819c12cd656d04b64664abb3c (patch)
treef1b04b4f705fa22f8c7414c1b6dac4aad7bbdcd2
parent17dbf74ccfa7f306174d6ec9ab8c31b47aed45a5 (diff)
downloadPaper-0af4e84eff5e8f2819c12cd656d04b64664abb3c.tar.gz
Paper-0af4e84eff5e8f2819c12cd656d04b64664abb3c.zip
[ci skip] Add identifying line to some larger/optimization patches
-rw-r--r--patches/server/0195-Improve-CraftEntity-and-CraftPlayer-equals-and-hashC.patch11
-rw-r--r--patches/server/0973-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch2
-rw-r--r--patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch2
-rw-r--r--patches/server/0975-Optimize-Network-Manager-and-add-advanced-packet-sup.patch2
-rw-r--r--patches/server/0976-Allow-Saving-of-Oversized-Chunks.patch2
-rw-r--r--patches/server/0977-Flat-bedrock-generator-settings.patch2
-rw-r--r--patches/server/0978-Entity-Activation-Range-2.0.patch4
-rw-r--r--patches/server/0979-Anti-Xray.patch1
-rw-r--r--patches/server/0980-Use-Velocity-compression-and-cipher-natives.patch2
-rw-r--r--patches/server/0981-Optimize-Collision-to-not-load-chunks.patch4
-rw-r--r--patches/server/0982-Optimize-GoalSelector-Goal.Flag-Set-operations.patch2
-rw-r--r--patches/server/0983-Optimize-Hoppers.patch2
-rw-r--r--patches/server/0984-Optimize-Voxel-Shape-Merging.patch2
-rw-r--r--patches/server/0985-Optimize-Bit-Operations-by-inlining.patch2
-rw-r--r--patches/server/0986-Remove-streams-from-hot-code.patch2
-rw-r--r--patches/server/0987-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch2
-rw-r--r--patches/server/0988-Fix-entity-type-tags-suggestions-in-selectors.patch2
-rw-r--r--patches/server/0989-Handle-Oversized-block-entities-in-chunks.patch2
-rw-r--r--patches/server/0990-Check-distance-in-entity-interactions.patch1
-rw-r--r--patches/server/0992-Properly-resend-entities.patch2
-rw-r--r--patches/server/0993-Registry-Modification-API.patch2
-rw-r--r--patches/server/0994-Add-registry-entry-and-builders.patch1
-rw-r--r--patches/server/0998-optimize-dirt-and-snow-spreading.patch1
-rw-r--r--patches/server/1042-Improved-Watchdog-Support.patch4
-rw-r--r--patches/server/1043-Detail-more-information-in-watchdog-dumps.patch6
-rw-r--r--patches/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch2
-rw-r--r--patches/server/1047-Improve-performance-of-mass-crafts.patch2
-rw-r--r--patches/server/1048-Incremental-chunk-and-player-saving.patch5
-rw-r--r--patches/server/1049-Optimise-general-POI-access.patch2
-rw-r--r--patches/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch2
-rw-r--r--patches/server/1051-Lag-compensation-ticks.patch2
-rw-r--r--patches/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch2
-rw-r--r--patches/server/1053-Optional-per-player-mob-spawns.patch1
-rw-r--r--patches/unapplied/server/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch2
34 files changed, 68 insertions, 17 deletions
diff --git a/patches/server/0195-Improve-CraftEntity-and-CraftPlayer-equals-and-hashC.patch b/patches/server/0195-Improve-CraftEntity-and-CraftPlayer-equals-and-hashC.patch
index f0cd2a02a2..fd7f24c4f3 100644
--- a/patches/server/0195-Improve-CraftEntity-and-CraftPlayer-equals-and-hashC.patch
+++ b/patches/server/0195-Improve-CraftEntity-and-CraftPlayer-equals-and-hashC.patch
@@ -53,7 +53,7 @@ index 0480fbeffd19011d3cd63021225f376c464b480c..d6241e2db362de034ae610694c49c188
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a4333eae8aa2ae3fefdc8a765a4434c36e123b12..b3f01ea79ecbce0130bbf3315a4076661affd1ae 100644
+index a4333eae8aa2ae3fefdc8a765a4434c36e123b12..48fce5964c49f30f705d11bbbabae49ad9a606c7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -626,22 +626,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -83,15 +83,6 @@ index a4333eae8aa2ae3fefdc8a765a4434c36e123b12..b3f01ea79ecbce0130bbf3315a407666
}
@Override
-@@ -2012,7 +2000,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
-
- @Override
- public boolean canSee(org.bukkit.entity.Entity entity) {
-- return this.equals(entity) || entity.isVisibleByDefault() ^ this.invertedVisibilityEntities.containsKey(entity.getUniqueId()); // SPIGOT-7312: Can always see self
-+ return this.getUniqueId().equals(entity.getUniqueId()) || entity.isVisibleByDefault() ^ this.invertedVisibilityEntities.containsKey(entity.getUniqueId()); // SPIGOT-7312: Can always see self
- }
-
- public boolean canSeePlayer(UUID uuid) {
@@ -2052,7 +2040,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public int hashCode() {
diff --git a/patches/server/0973-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0973-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
index 178cf52c88..a2e8a59019 100644
--- a/patches/server/0973-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
+++ b/patches/server/0973-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
@@ -11,6 +11,8 @@ Replace all calls to the new place to the unnecessary forward.
Optimize getType and getBlockData to manually inline and optimize the calls
+Feature patch
+
diff --git a/src/main/java/net/minecraft/core/Vec3i.java b/src/main/java/net/minecraft/core/Vec3i.java
index 2f2bcc1b9b32e58bf70ae6c171177ceb333ed6cd..d7afddd1d961495f0b50302a8da0a70fcd3ba1b0 100644
--- a/src/main/java/net/minecraft/core/Vec3i.java
diff --git a/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
index dc903d6e39..8ab2de5f02 100644
--- a/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
+++ b/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
@@ -12,6 +12,8 @@ custom renderers are in use, defaulting to the much simpler Vanilla system.
Additionally, numerous issues to player position tracking on maps has been fixed.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 24df2baaeb34eccbe148ac0e518f44e9a869ffa5..ce148cf5930cdcf0163c7f6416cbbd89e4d22720 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
diff --git a/patches/server/0975-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0975-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
index e601a7c5a2..a22e16473b 100644
--- a/patches/server/0975-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
+++ b/patches/server/0975-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
@@ -27,6 +27,8 @@ and then catch exceptions and close if they fire.
Part of this commit was authored by: Spottedleaf, sandtechnology
+Feature patch
+
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
index 55848fa832d0f4d2d03f99df51e10c5fdfcd2ded..7dc7aeb1d94d26cf54bd4e4ab13972a3a60c1f98 100644
--- a/src/main/java/net/minecraft/network/Connection.java
diff --git a/patches/server/0976-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/0976-Allow-Saving-of-Oversized-Chunks.patch
index 7d1ee992f1..59ac229e5b 100644
--- a/patches/server/0976-Allow-Saving-of-Oversized-Chunks.patch
+++ b/patches/server/0976-Allow-Saving-of-Oversized-Chunks.patch
@@ -32,6 +32,8 @@ This fix also maintains compatability if someone switches server jars to one wit
this fix, as the data will remain in the oversized file. Once the server returns
to a jar with this fix, the data will be restored.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java
index e858436bcf1b234d4bc6e6a117f5224d5c2d9f90..e761b63eebc1e76b2bb1cb887d83d0b63ad6ec90 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java
diff --git a/patches/server/0977-Flat-bedrock-generator-settings.patch b/patches/server/0977-Flat-bedrock-generator-settings.patch
index 1e4bccf2db..f9c0bab64c 100644
--- a/patches/server/0977-Flat-bedrock-generator-settings.patch
+++ b/patches/server/0977-Flat-bedrock-generator-settings.patch
@@ -18,6 +18,8 @@ public net.minecraft.world.level.levelgen.SurfaceRules$SurfaceRule
Co-authored-by: Noah van der Aa <[email protected]>
+Feature patch
+
diff --git a/src/main/java/io/papermc/paper/world/worldgen/OptionallyFlatBedrockConditionSource.java b/src/main/java/io/papermc/paper/world/worldgen/OptionallyFlatBedrockConditionSource.java
new file mode 100644
index 0000000000000000000000000000000000000000..b5580727eef106fa193e450038d1b20d8d396059
diff --git a/patches/server/0978-Entity-Activation-Range-2.0.patch b/patches/server/0978-Entity-Activation-Range-2.0.patch
index 6a41aace70..c69bbf042a 100644
--- a/patches/server/0978-Entity-Activation-Range-2.0.patch
+++ b/patches/server/0978-Entity-Activation-Range-2.0.patch
@@ -13,6 +13,8 @@ Adds water Mobs to activation range config and nerfs fish
Adds flying monsters to control ghast and phantoms
Adds villagers as separate config
+Feature patch
+
== AT ==
public net.minecraft.world.entity.Entity isInsidePortal
@@ -87,7 +89,7 @@ index ce148cf5930cdcf0163c7f6416cbbd89e4d22720..cd00b534e4c527e0b4a5ad78cde87c22
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 6ebd653ea3c302f26d02f81b6718924708148e4c..72dbee3795eb634b3ff3f063a226a1965bc988fb 100644
+index ef764777c3054522aa875026addd3d1e7cc3d2ec..c2b98da88e30b7d84a4b51c48e12fd16c1d52c35 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -421,6 +421,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0979-Anti-Xray.patch b/patches/server/0979-Anti-Xray.patch
index 6c8dacc4df..d52875de09 100644
--- a/patches/server/0979-Anti-Xray.patch
+++ b/patches/server/0979-Anti-Xray.patch
@@ -3,6 +3,7 @@ From: stonar96 <[email protected]>
Date: Thu, 25 Nov 2021 13:27:51 +0100
Subject: [PATCH] Anti-Xray
+Feature patch
diff --git a/src/main/java/com/destroystokyo/paper/antixray/BitStorageReader.java b/src/main/java/com/destroystokyo/paper/antixray/BitStorageReader.java
new file mode 100644
diff --git a/patches/server/0980-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0980-Use-Velocity-compression-and-cipher-natives.patch
index d8e15233f3..096019fa1f 100644
--- a/patches/server/0980-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/0980-Use-Velocity-compression-and-cipher-natives.patch
@@ -3,6 +3,8 @@ From: Andrew Steinborn <[email protected]>
Date: Mon, 26 Jul 2021 02:15:17 -0400
Subject: [PATCH] Use Velocity compression and cipher natives
+Feature patch
+
== AT ==
private-f net.minecraft.network.CompressionDecoder inflater
diff --git a/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch
index 391381dabf..b67457788b 100644
--- a/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch
+++ b/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch
@@ -13,6 +13,8 @@ If that serting is not enabled, collisions will be ignored for players, since
movement will load only the chunk the player enters anyways and avoids loading
massive amounts of surrounding chunks due to large AABB lookups.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 3e03d65ac4ef267de67684d24c6f9c303b1a0bf0..b451842d6848af883cc3abf200f03c9a4680106c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -26,7 +28,7 @@ index 3e03d65ac4ef267de67684d24c6f9c303b1a0bf0..b451842d6848af883cc3abf200f03c9a
if (teleporttransition.missingRespawnBlock()) {
entityplayer1.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.NO_RESPAWN_BLOCK_AVAILABLE, 0.0F));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 72dbee3795eb634b3ff3f063a226a1965bc988fb..430addbb5c3d84f4354a89a9ec8fa15bca4d2a60 100644
+index c2b98da88e30b7d84a4b51c48e12fd16c1d52c35..6a4f52342c5a195206ecf3ac118e8a4df4d2f3d2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -259,6 +259,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0982-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/0982-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
index c4c7e7fd35..9a50ca7915 100644
--- a/patches/server/0982-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
+++ b/patches/server/0982-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] Optimize GoalSelector Goal.Flag Set operations
Optimise the stream.anyMatch statement to move to a bitset
where we can replace the call with a single bitwise operation.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java b/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java
index acc25b08ed3b9f978229fa017d23f9fa0da519e3..71c952621580fe95730835ed0eab7c9852550030 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java
diff --git a/patches/server/0983-Optimize-Hoppers.patch b/patches/server/0983-Optimize-Hoppers.patch
index 89fb7d8c80..21523246d3 100644
--- a/patches/server/0983-Optimize-Hoppers.patch
+++ b/patches/server/0983-Optimize-Hoppers.patch
@@ -12,6 +12,8 @@ Subject: [PATCH] Optimize Hoppers
* Don't check for Entities with Inventories if the block above us is also occluding (not just Inventoried)
* Remove Streams from Item Suck In and restore restore 1.12 AABB checks which is simpler and no voxel allocations (was doing TWO Item Suck ins)
+Feature patch
+
diff --git a/src/main/java/io/papermc/paper/event/inventory/PaperInventoryMoveItemEvent.java b/src/main/java/io/papermc/paper/event/inventory/PaperInventoryMoveItemEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..5c42823726e70ce6c9d0121d074315488e8b3f60
diff --git a/patches/server/0984-Optimize-Voxel-Shape-Merging.patch b/patches/server/0984-Optimize-Voxel-Shape-Merging.patch
index 52246713b3..fe52a8b802 100644
--- a/patches/server/0984-Optimize-Voxel-Shape-Merging.patch
+++ b/patches/server/0984-Optimize-Voxel-Shape-Merging.patch
@@ -29,6 +29,8 @@ and compute a deterministic result for the MergerList values.
Additionally, this lets us avoid even allocating new objects for this too, further
reducing memory usage.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/world/phys/shapes/IndirectMerger.java b/src/main/java/net/minecraft/world/phys/shapes/IndirectMerger.java
index e164c524aef4fa81fe96ac43454eecff1c38b9c1..9cfbbc61fcfc678f0988d6d45c7994d128051744 100644
--- a/src/main/java/net/minecraft/world/phys/shapes/IndirectMerger.java
diff --git a/patches/server/0985-Optimize-Bit-Operations-by-inlining.patch b/patches/server/0985-Optimize-Bit-Operations-by-inlining.patch
index 2c71fd1153..2659c21023 100644
--- a/patches/server/0985-Optimize-Bit-Operations-by-inlining.patch
+++ b/patches/server/0985-Optimize-Bit-Operations-by-inlining.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] Optimize Bit Operations by inlining
Inline bit operations and reduce instruction count to make these hot
operations faster
+Feature patch
+
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
index a1d54d978d34d75475f92dfb806113586e7e449c..f58a94efafbc01d402cd03a108bb90f60930a316 100644
--- a/src/main/java/net/minecraft/core/BlockPos.java
diff --git a/patches/server/0986-Remove-streams-from-hot-code.patch b/patches/server/0986-Remove-streams-from-hot-code.patch
index 37416513dc..bab16c74ad 100644
--- a/patches/server/0986-Remove-streams-from-hot-code.patch
+++ b/patches/server/0986-Remove-streams-from-hot-code.patch
@@ -3,6 +3,8 @@ From: JRoy <[email protected]>
Date: Wed, 1 Jul 2020 18:01:49 -0400
Subject: [PATCH] Remove streams from hot code
+Feature patch
+
Co-authored-by: Bjarne Koll <[email protected]>
Co-authored-by: Spottedleaf <[email protected]>
diff --git a/patches/server/0987-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0987-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
index b32ebf6b4e..edf50d7e23 100644
--- a/patches/server/0987-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
+++ b/patches/server/0987-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
@@ -15,6 +15,8 @@ Optimize collection by creating a list instead of a set of the key and value.
This lets us get faster foreach iteration, as well as avoids map lookups on
the values when needed.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
index 17006cd22152cf942455437ff7b21a8645259578..cc7d94144e39f7dace7b569b4567def98396e8f9 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
diff --git a/patches/server/0988-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/0988-Fix-entity-type-tags-suggestions-in-selectors.patch
index 1b14145b71..f29fc5c649 100644
--- a/patches/server/0988-Fix-entity-type-tags-suggestions-in-selectors.patch
+++ b/patches/server/0988-Fix-entity-type-tags-suggestions-in-selectors.patch
@@ -9,6 +9,8 @@ when if this was fixed on the client, that wouldn't be needed.
Mojira Issue: https://bugs.mojang.com/browse/MC-235045
+Feature patch
+
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index 3549ffea451b932602efb113844ba21a7bc72371..13bd145b1e8006a53c22f5dc0c78f29b540c7663 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
diff --git a/patches/server/0989-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/0989-Handle-Oversized-block-entities-in-chunks.patch
index d3283fd63f..5098df0611 100644
--- a/patches/server/0989-Handle-Oversized-block-entities-in-chunks.patch
+++ b/patches/server/0989-Handle-Oversized-block-entities-in-chunks.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] Handle Oversized block entities in chunks
Splits out Extra Packets if too many TE's are encountered to prevent
creating too large of a packet to sed.
+Feature patch
+
Co-authored-by: Spottedleaf <[email protected]>
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java
diff --git a/patches/server/0990-Check-distance-in-entity-interactions.patch b/patches/server/0990-Check-distance-in-entity-interactions.patch
index 2c49ce329c..2e36b3f8e3 100644
--- a/patches/server/0990-Check-distance-in-entity-interactions.patch
+++ b/patches/server/0990-Check-distance-in-entity-interactions.patch
@@ -3,6 +3,7 @@ From: Spottedleaf <[email protected]>
Date: Mon, 2 Aug 2021 10:10:40 +0200
Subject: [PATCH] Check distance in entity interactions
+Feature patch
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
index 57223285860f61119b6cf348aa78e59384a04e22..ccfe9ef24dce9f34613692adb13738d3ad0e7aac 100644
diff --git a/patches/server/0992-Properly-resend-entities.patch b/patches/server/0992-Properly-resend-entities.patch
index cdb20d9bdb..d8b50689d8 100644
--- a/patches/server/0992-Properly-resend-entities.patch
+++ b/patches/server/0992-Properly-resend-entities.patch
@@ -19,6 +19,8 @@ and so we have to (forcibly) resend them in order for the client to reset their
See: https://github.com/PaperMC/Paper/pull/1896
+Feature patch
+
== AT ==
public net.minecraft.server.level.ChunkMap$TrackedEntity serverEntity
diff --git a/patches/server/0993-Registry-Modification-API.patch b/patches/server/0993-Registry-Modification-API.patch
index 8dbd5f3ff2..17e32ead7f 100644
--- a/patches/server/0993-Registry-Modification-API.patch
+++ b/patches/server/0993-Registry-Modification-API.patch
@@ -3,6 +3,8 @@ From: Jake Potrebic <[email protected]>
Date: Mon, 27 Feb 2023 18:28:39 -0800
Subject: [PATCH] Registry Modification API
+Feature patch
+
== AT ==
public net.minecraft.core.MappedRegistry validateWrite(Lnet/minecraft/resources/ResourceKey;)V
public net.minecraft.resources.RegistryOps lookupProvider
diff --git a/patches/server/0994-Add-registry-entry-and-builders.patch b/patches/server/0994-Add-registry-entry-and-builders.patch
index 478f6366df..ccb2727822 100644
--- a/patches/server/0994-Add-registry-entry-and-builders.patch
+++ b/patches/server/0994-Add-registry-entry-and-builders.patch
@@ -3,6 +3,7 @@ From: Bjarne Koll <[email protected]>
Date: Thu, 13 Jun 2024 23:45:32 +0200
Subject: [PATCH] Add registry entry and builders
+Feature patch
diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
index f563e6e7a558d22f571154640e99cc86718c89f5..a2d26151b5d1ae413e1e588520ecf13fe479de94 100644
diff --git a/patches/server/0998-optimize-dirt-and-snow-spreading.patch b/patches/server/0998-optimize-dirt-and-snow-spreading.patch
index e89393b028..36f98fb336 100644
--- a/patches/server/0998-optimize-dirt-and-snow-spreading.patch
+++ b/patches/server/0998-optimize-dirt-and-snow-spreading.patch
@@ -3,6 +3,7 @@ From: lukas81298 <[email protected]>
Date: Fri, 22 Jan 2021 21:50:18 +0100
Subject: [PATCH] optimize dirt and snow spreading
+Feature patch
diff --git a/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java b/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java
index b4b826c53548bcf6952f6d0ee8037975ceb8c6e1..a94c164fbf8fc3bb7669799a53f7e5528d921e7c 100644
diff --git a/patches/server/1042-Improved-Watchdog-Support.patch b/patches/server/1042-Improved-Watchdog-Support.patch
index aef8f31f02..85b1434e1b 100644
--- a/patches/server/1042-Improved-Watchdog-Support.patch
+++ b/patches/server/1042-Improved-Watchdog-Support.patch
@@ -40,6 +40,8 @@ This is to ensure that if main isn't truely stuck, it's not manipulating state w
This also moves all plugins who register "delayed init" tasks to occur just before "Done" so they
are properly accounted for and wont trip watchdog on init.
+Feature patch
+
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
index 6aaed8e8bf8c721fc834da5c76ac72a4c3e92458..4b002e8b75d117b726b0de274a76d3596fce015b 100644
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
@@ -302,7 +304,7 @@ index bf2bae3166df06be240dbbeecce16a24c85897a9..c06863578c5d654706d93e73059d89c1
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index b28b23c69512b054e856388f2f94d27d35347b8c..88f40e54fa3b78d82261e06f941ef42587d52c25 100644
+index 61f3ee42aaad1641c92df3eb60d699b9dd5679e3..47664c545e3f58719f55366bac05732dbfe3c00a 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -553,7 +553,7 @@ public abstract class PlayerList {
diff --git a/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch
index 983806d780..2d5148854d 100644
--- a/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch
@@ -6,8 +6,10 @@ Subject: [PATCH] Detail more information in watchdog dumps
- Dump position, world, velocity, and uuid for currently ticking entities
- Dump player name, player uuid, position, and world for packet handling
+Feature patch
+
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index fff8d15d44613a075b9793c2a41520212166eb3b..4a8356a714ed50d4a32bcf046a2e16491bef014b 100644
+index d18af548fa6e979267347443b61efc58b271dfcf..e693a003ea8f022eef8b49e4332025b769333b30 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -632,7 +632,13 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -121,7 +123,7 @@ index 70efc63102b3d3727be376d42f1bef70174468a3..7b936a01888d71fe305863054471b6b4
private void tickPassenger(Entity vehicle, Entity passenger, boolean isActive) { // Paper - EAR 2
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 86e3d37ac9b4d5efe240c07289f88a070543b30d..a0876d3f88620bb24ef69101fc67b0dcd5dca0d2 100644
+index a9e1ae7ad0b81e7488cb07876b32d7ba0a170365..8be1b051543cda2b2e9e3d337834757e53f442de 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1172,8 +1172,43 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
index 2ebcf0093c..d0af0f3027 100644
--- a/patches/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
+++ b/patches/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
@@ -9,6 +9,8 @@ we instead drop the current regionfile header and recalculate -
hoping that at least then we don't swap chunks, and maybe recover
them all.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionBitmap.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionBitmap.java
index a23dc2f8f4475de1ee35bf18a7a8a53233ccac12..226af44fd469053451a0403a95ffb446face9530 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionBitmap.java
diff --git a/patches/server/1047-Improve-performance-of-mass-crafts.patch b/patches/server/1047-Improve-performance-of-mass-crafts.patch
index 57f901bc5f..7231e230c1 100644
--- a/patches/server/1047-Improve-performance-of-mass-crafts.patch
+++ b/patches/server/1047-Improve-performance-of-mass-crafts.patch
@@ -19,6 +19,8 @@ for each craft, that logic is run 9 times (hence the 64 * 9). The + 64 is from t
After this patch, the full iteration over all recipes checking for a match should run once for a full craft to find the
initial recipe match. Then that recipe will be checked first for all future recipe match checks.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/world/inventory/CraftingContainer.java b/src/main/java/net/minecraft/world/inventory/CraftingContainer.java
index 779d107a4d07820529273af5931421c09d1dc27f..4f6c8c43f5150e340704682accfbe2a5b1c5db19 100644
--- a/src/main/java/net/minecraft/world/inventory/CraftingContainer.java
diff --git a/patches/server/1048-Incremental-chunk-and-player-saving.patch b/patches/server/1048-Incremental-chunk-and-player-saving.patch
index e9d10a98f1..30f35bb821 100644
--- a/patches/server/1048-Incremental-chunk-and-player-saving.patch
+++ b/patches/server/1048-Incremental-chunk-and-player-saving.patch
@@ -3,9 +3,10 @@ From: Shane Freeder <[email protected]>
Date: Sun, 9 Jun 2019 03:53:22 +0100
Subject: [PATCH] Incremental chunk and player saving
+Feature patch
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index db90abc0e081d1d2623e6bfe000bc2694ae84c7a..196d7ffb8b362873f93224ccdd37e7efc656fd78 100644
+index 38b5eef0b5ff38f9a8dfa59822d7b41336108f49..b33b68649e67de08719b30e98650c84f4c3c18d6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1007,7 +1007,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -97,7 +98,7 @@ index 8ceeebb561046933cba0725e15732fa074226884..8c9148426f23cbbdfaf7ae66657d1a62
private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10;
private static final int FLY_STAT_RECORDING_SPEED = 25;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 88f40e54fa3b78d82261e06f941ef42587d52c25..cf42042c754b30e41c0ec8a6a15195369bdbd199 100644
+index 47664c545e3f58719f55366bac05732dbfe3c00a..a03ff473a683611670ee274b0eec5a395ee6981a 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -518,6 +518,7 @@ public abstract class PlayerList {
diff --git a/patches/server/1049-Optimise-general-POI-access.patch b/patches/server/1049-Optimise-general-POI-access.patch
index 0e3d18cfa4..2fa0832c02 100644
--- a/patches/server/1049-Optimise-general-POI-access.patch
+++ b/patches/server/1049-Optimise-general-POI-access.patch
@@ -30,6 +30,8 @@ This patch also specifically optimises other areas of code to
use PoiAccess. For example, some villager AI and portaling code
had to be specifically modified.
+Feature patch
+
diff --git a/src/main/java/io/papermc/paper/util/PoiAccess.java b/src/main/java/io/papermc/paper/util/PoiAccess.java
new file mode 100644
index 0000000000000000000000000000000000000000..f39294b1f83c4022be5ced4da781103a1eee2daf
diff --git a/patches/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch b/patches/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch
index 99803672f2..d8a7d54cb0 100644
--- a/patches/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch
+++ b/patches/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch
@@ -28,6 +28,8 @@ which is most likely in an unloaded chunk - which means that the
client will not tick the entity and thus not lerp the entity
from its old position to its new position.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java
index f6e1deb2f849d8b01b15cfa69e2f6cd5f2b1512b..f66e40326c510aa3267542b1a24ed75d1ed6d3f1 100644
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java
diff --git a/patches/server/1051-Lag-compensation-ticks.patch b/patches/server/1051-Lag-compensation-ticks.patch
index 4a89c2d30a..49158b5c6c 100644
--- a/patches/server/1051-Lag-compensation-ticks.patch
+++ b/patches/server/1051-Lag-compensation-ticks.patch
@@ -7,6 +7,8 @@ Areas affected by lag comepnsation:
- Block breaking and destroying
- Eating food items
+Feature patch
+
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b33b68649e67de08719b30e98650c84f4c3c18d6..e636a96ea6220fda671a31d3d9cdea468a558768 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
diff --git a/patches/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch
index b4614bda33..82b8f60c95 100644
--- a/patches/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] Optimise collision checking in player move packet handling
Move collision logic to just the hasNewCollision call instead of getCubes + hasNewCollision
+Feature patch
+
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index e3458038d56b7133f991a5198db26398a299bf30..d7ac001d53a083e9881f2320eb7fd5dcbd20416e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
diff --git a/patches/server/1053-Optional-per-player-mob-spawns.patch b/patches/server/1053-Optional-per-player-mob-spawns.patch
index 0f6f46bc19..647ce5f7fb 100644
--- a/patches/server/1053-Optional-per-player-mob-spawns.patch
+++ b/patches/server/1053-Optional-per-player-mob-spawns.patch
@@ -3,6 +3,7 @@ From: kickash32 <[email protected]>
Date: Mon, 19 Aug 2019 01:27:58 +0500
Subject: [PATCH] Optional per player mob spawns
+Feature patch
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index f1999729cd1c00071c5e1835ee49ea5fcafa7b05..4896c3ba81ead769972fa9efdbe563d4006e4401 100644
diff --git a/patches/unapplied/server/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/unapplied/server/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
index 761c57c8f2..c591371af8 100644
--- a/patches/unapplied/server/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
+++ b/patches/unapplied/server/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
@@ -25,6 +25,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
+Feature patch
+
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 5f1c585c819d25319a4fefd30abde3de7620cf6d..340c4452c09a98bc0220e6fe68dc65afc946986b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java