diff --git a/patches/server/0449-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0449-Fix-interact-event-not-being-called-sometimes.patch index 3c9078dd88..f98aeaeb6c 100644 --- a/patches/server/0449-Fix-interact-event-not-being-called-sometimes.patch +++ b/patches/server/0449-Fix-interact-event-not-being-called-sometimes.patch @@ -11,7 +11,7 @@ Subject: [PATCH] Fix interact event not being called sometimes Co-authored-by: Moulberry diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index bf4b64f07f21d816eb866d23b290c2f5e5471c70..3d4ab22077eb358168b2959c3d1beb10b7104ab7 100644 +index bf4b64f07f21d816eb866d23b290c2f5e5471c70..b0c32f22960ab7f809768037b5014536ef894af9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1842,7 +1842,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -19,7 +19,7 @@ index bf4b64f07f21d816eb866d23b290c2f5e5471c70..3d4ab22077eb358168b2959c3d1beb10 InteractionResult.Success enuminteractionresult_d = (InteractionResult.Success) enuminteractionresult; - if (enuminteractionresult_d.swingSource() == InteractionResult.SwingSource.SERVER) { -+ if (enuminteractionresult_d.swingSource() == InteractionResult.SwingSource.SERVER && !this.player.gameMode.interactResult) { ++ if (enuminteractionresult_d.swingSource() == InteractionResult.SwingSource.SERVER && !this.player.gameMode.interactResult) { // Paper - Call interact event this.player.swing(enumhand, true); } } diff --git a/patches/server/0492-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0492-Allow-using-signs-inside-spawn-protection.patch index 3953df000d..7d60145785 100644 --- a/patches/server/0492-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0492-Allow-using-signs-inside-spawn-protection.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow using signs inside spawn protection diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3d4ab22077eb358168b2959c3d1beb10b7104ab7..e23b1f98c4ea066e1c35e15454ed524a20f65b4d 100644 +index b0c32f22960ab7f809768037b5014536ef894af9..01771669a8f6aa70d0dbf00fc7a65c7af6233129 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1827,7 +1827,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0497-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0497-Don-t-ignore-result-of-PlayerEditBookEvent.patch index 890d12fe22..0118a06559 100644 --- a/patches/server/0497-Don-t-ignore-result-of-PlayerEditBookEvent.patch +++ b/patches/server/0497-Don-t-ignore-result-of-PlayerEditBookEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e23b1f98c4ea066e1c35e15454ed524a20f65b4d..ddf2b9c6de079f55c3ac8836345c1e681f23fcac 100644 +index 01771669a8f6aa70d0dbf00fc7a65c7af6233129..b24b6b93a3615c7aa95f64c13df983d7afc9b974 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1219,7 +1219,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0507-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0507-fix-PlayerItemHeldEvent-firing-twice.patch index 631dbbe515..62cfc0c14b 100644 --- a/patches/server/0507-fix-PlayerItemHeldEvent-firing-twice.patch +++ b/patches/server/0507-fix-PlayerItemHeldEvent-firing-twice.patch @@ -5,7 +5,7 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ddf2b9c6de079f55c3ac8836345c1e681f23fcac..47f925707d8756796ce169b7cbd8f2410b0b7104 100644 +index b24b6b93a3615c7aa95f64c13df983d7afc9b974..3f5cd2a2c86daef6659ee9614a9efb26c6f1ce28 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2014,6 +2014,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0524-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0524-Expand-PlayerGameModeChangeEvent.patch index 065d67fdf4..f8db432260 100644 --- a/patches/server/0524-Expand-PlayerGameModeChangeEvent.patch +++ b/patches/server/0524-Expand-PlayerGameModeChangeEvent.patch @@ -134,7 +134,7 @@ index 546be40a8e4470fb5a6686072cdd342cdaa6fe15..e000a918230187f6841b03b7b0dd7368 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 47f925707d8756796ce169b7cbd8f2410b0b7104..f97bbed2b0098fb9b9b0a9e7c2a124e1370608cc 100644 +index 3f5cd2a2c86daef6659ee9614a9efb26c6f1ce28..774d087787067faee75d566e796d5b8c88a24f24 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2818,7 +2818,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0527-Move-range-check-for-block-placing-up.patch b/patches/server/0527-Move-range-check-for-block-placing-up.patch index fb8c43feb0..fce626c69c 100644 --- a/patches/server/0527-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0527-Move-range-check-for-block-placing-up.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f97bbed2b0098fb9b9b0a9e7c2a124e1370608cc..10376b24e3a09c023a73a21a4499415589795423 100644 +index 774d087787067faee75d566e796d5b8c88a24f24..1691d0c4d1e58bfd996a534076398bfdf7680dc1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1814,6 +1814,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0530-Add-Unix-domain-socket-support.patch b/patches/server/0530-Add-Unix-domain-socket-support.patch index 08bcf8abe1..319ace9f18 100644 --- a/patches/server/0530-Add-Unix-domain-socket-support.patch +++ b/patches/server/0530-Add-Unix-domain-socket-support.patch @@ -87,7 +87,7 @@ index d6d7f1c446ba5507f67038ff27775ba75156f4a7..c63c194c44646e6bc1a5942655278701 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 10376b24e3a09c023a73a21a4499415589795423..979f2aa4716cd5ddc35e2d81a3de82af4b4c296e 100644 +index 1691d0c4d1e58bfd996a534076398bfdf7680dc1..7557842ce2d6ca19277a99ab9de5356b11b526b2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2631,6 +2631,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0536-Add-PlayerKickEvent-causes.patch b/patches/server/0536-Add-PlayerKickEvent-causes.patch index 25c4735557..7fe64f8de8 100644 --- a/patches/server/0536-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0536-Add-PlayerKickEvent-causes.patch @@ -229,7 +229,7 @@ index f8ae8c8eff73e4e87eb34d0f2635517f1688a6f1..59d20fd62e850a38380d877cef95ed69 if (this.cserver.getServer().isRunning()) { this.cserver.getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 979f2aa4716cd5ddc35e2d81a3de82af4b4c296e..fffefbed068a339f0db607d6734be611b273bbcf 100644 +index 7557842ce2d6ca19277a99ab9de5356b11b526b2..022ccaf364da665f62c5ff428f0b419174558e3b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -361,7 +361,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0554-Add-PlayerArmSwingEvent.patch b/patches/server/0554-Add-PlayerArmSwingEvent.patch index e08349e079..39a959566c 100644 --- a/patches/server/0554-Add-PlayerArmSwingEvent.patch +++ b/patches/server/0554-Add-PlayerArmSwingEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerArmSwingEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fffefbed068a339f0db607d6734be611b273bbcf..0a5abb1a580310cc26ce3d64e6f878bde3bbfd0a 100644 +index 022ccaf364da665f62c5ff428f0b419174558e3b..dc9cbd4636bff0db6c7308482413a844c04d8526 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2488,7 +2488,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch index ff8a83c615..b908ed7ed0 100644 --- a/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch @@ -55,7 +55,7 @@ index 59d20fd62e850a38380d877cef95ed69cb46ecbd..fc242acade3ff06c9213428cde103cf0 MinecraftServer minecraftserver = this.server; Connection networkmanager = this.connection; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0a5abb1a580310cc26ce3d64e6f878bde3bbfd0a..1fb600d3e0f14940d911881ebbe24a6b57d3a81c 100644 +index dc9cbd4636bff0db6c7308482413a844c04d8526..94ecc56fb633ecc4ecbfb2f436fadaf2afbc7491 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1975,6 +1975,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0561-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0561-Prevent-AFK-kick-while-watching-end-credits.patch index 75bfbb054a..8a3982cb60 100644 --- a/patches/server/0561-Prevent-AFK-kick-while-watching-end-credits.patch +++ b/patches/server/0561-Prevent-AFK-kick-while-watching-end-credits.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent AFK kick while watching end credits diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1fb600d3e0f14940d911881ebbe24a6b57d3a81c..2df548b68e56a309af4b89f8f1174dde3b046e7d 100644 +index 94ecc56fb633ecc4ecbfb2f436fadaf2afbc7491..7dfb5d176f88044f8416a2bff38b290d011de066 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -398,7 +398,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0590-Improve-and-expand-AsyncCatcher.patch b/patches/server/0590-Improve-and-expand-AsyncCatcher.patch index ae6607cb0d..204ea7fbff 100644 --- a/patches/server/0590-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0590-Improve-and-expand-AsyncCatcher.patch @@ -17,7 +17,7 @@ Async catch modifications to critical entity state Co-authored-by: Jake Potrebic diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2df548b68e56a309af4b89f8f1174dde3b046e7d..dcc87047769094241a0f0b682dc31cc4767ab5e9 100644 +index 7dfb5d176f88044f8416a2bff38b290d011de066..7961fbf5c72dae1031ae583baee62a20587b177f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1651,6 +1651,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0603-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0603-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch index 0330fe314a..470c18a660 100644 --- a/patches/server/0603-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch +++ b/patches/server/0603-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Don't respond to ServerboundCommandSuggestionPacket when diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index dcc87047769094241a0f0b682dc31cc4767ab5e9..d76df6ed588b1109cdebf239884d4c9ce5de47a6 100644 +index 7961fbf5c72dae1031ae583baee62a20587b177f..7e46af4a325303df780a088ba8a0d8d4c719fa6b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -758,6 +758,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0667-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0667-Don-t-allow-vehicle-movement-from-players-while-tele.patch index 75b88b14da..987e1bc84b 100644 --- a/patches/server/0667-Don-t-allow-vehicle-movement-from-players-while-tele.patch +++ b/patches/server/0667-Don-t-allow-vehicle-movement-from-players-while-tele.patch @@ -7,7 +7,7 @@ Bring the vehicle move packet behavior in line with the regular player move packet. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d76df6ed588b1109cdebf239884d4c9ce5de47a6..f259e32509b0ac6a62ab203911f93cac6150d71d 100644 +index 7e46af4a325303df780a088ba8a0d8d4c719fa6b..1d2db5c0b1fbd98308659e878832cf7923b9eab0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -491,6 +491,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/unapplied/server/0696-Sanitize-sent-BlockEntity-NBT.patch b/patches/server/0694-Sanitize-sent-BlockEntity-NBT.patch similarity index 95% rename from patches/unapplied/server/0696-Sanitize-sent-BlockEntity-NBT.patch rename to patches/server/0694-Sanitize-sent-BlockEntity-NBT.patch index 60a49fa4ef..6225689cb3 100644 --- a/patches/unapplied/server/0696-Sanitize-sent-BlockEntity-NBT.patch +++ b/patches/server/0694-Sanitize-sent-BlockEntity-NBT.patch @@ -30,10 +30,10 @@ index ac900dfdc5c90e9e60d47efa734be8f0a5b20dca..ec1cb034d840633240f2b379b09f7d2f } } diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index 09b85c4caa4ebaae1e8c2910b090c40a039a1be7..645a7ec0709cbd3c0cfbf75f7b8622a67515f74c 100644 +index b1ed43287d522e08a967ba751a851776351916e7..2356fd4bf4edb8a44312f772eeb8399b3a2fa216 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -@@ -390,6 +390,14 @@ public abstract class BlockEntity { +@@ -377,6 +377,14 @@ public abstract class BlockEntity { } // CraftBukkit end diff --git a/patches/unapplied/server/0697-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0695-Disable-component-selector-resolving-in-books-by-def.patch similarity index 100% rename from patches/unapplied/server/0697-Disable-component-selector-resolving-in-books-by-def.patch rename to patches/server/0695-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/unapplied/server/0698-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0696-Prevent-entity-loading-causing-async-lookups.patch similarity index 95% rename from patches/unapplied/server/0698-Prevent-entity-loading-causing-async-lookups.patch rename to patches/server/0696-Prevent-entity-loading-causing-async-lookups.patch index a355a7c5d0..78842ad8aa 100644 --- a/patches/unapplied/server/0698-Prevent-entity-loading-causing-async-lookups.patch +++ b/patches/server/0696-Prevent-entity-loading-causing-async-lookups.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent entity loading causing async lookups diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4f9071362d556f6f7fd5948dab99e2d260ec60fd..8062809659eab4f3667e297fc085093d4eb64154 100644 +index f2572fec8989911803cbcf1110e670b005ae29b0..0ab366df0cdd6ccba64e355322ff134cce3b5f42 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -725,6 +725,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -729,6 +729,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess ProfilerFiller gameprofilerfiller = Profiler.get(); gameprofilerfiller.push("entityBaseTick"); diff --git a/patches/unapplied/server/0699-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0697-Throw-exception-on-world-create-while-being-ticked.patch similarity index 97% rename from patches/unapplied/server/0699-Throw-exception-on-world-create-while-being-ticked.patch rename to patches/server/0697-Throw-exception-on-world-create-while-being-ticked.patch index b4238c330f..b3abc73cb6 100644 --- a/patches/unapplied/server/0699-Throw-exception-on-world-create-while-being-ticked.patch +++ b/patches/server/0697-Throw-exception-on-world-create-while-being-ticked.patch @@ -7,7 +7,7 @@ There are no plans to support creating worlds while worlds are being ticked themselvess. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f9a5e19f74022a03cf82e44ab59a256abc08468e..d7e5c1a5963139ab0362b565a964c998b2a9691b 100644 +index fcc00d5b0be3d2adb92c8243ccca8d0190fcc413..75ca3bc86c9f70df4ddf29a454b8b2bc251b4b9f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -327,6 +327,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop maindimensionkey = CraftDimensionUtil.getMainDimensionKey(origin); ResourceKey maindimensionkey1 = CraftDimensionUtil.getMainDimensionKey(this.level()); diff --git a/patches/unapplied/server/0703-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0701-Add-missing-important-BlockStateListPopulator-method.patch similarity index 100% rename from patches/unapplied/server/0703-Add-missing-important-BlockStateListPopulator-method.patch rename to patches/server/0701-Add-missing-important-BlockStateListPopulator-method.patch diff --git a/patches/unapplied/server/0704-Nameable-Banner-API.patch b/patches/server/0702-Nameable-Banner-API.patch similarity index 96% rename from patches/unapplied/server/0704-Nameable-Banner-API.patch rename to patches/server/0702-Nameable-Banner-API.patch index aab360dbed..b481d9a835 100644 --- a/patches/unapplied/server/0704-Nameable-Banner-API.patch +++ b/patches/server/0702-Nameable-Banner-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Nameable Banner API diff --git a/src/main/java/net/minecraft/world/level/block/entity/BannerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BannerBlockEntity.java -index 01521f38871d821762ff7ac2d39927f8c6b861bf..98bc87fe5d153cc4927f7e1b4a02f61d9dd019a0 100644 +index 6a2bb16ac915c80316f05348ad15724ddc7e19b4..27fd8b88dc1433c1df1e09604a3cc546bfa0d2b9 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BannerBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BannerBlockEntity.java @@ -29,7 +29,7 @@ public class BannerBlockEntity extends BlockEntity implements Nameable { diff --git a/patches/unapplied/server/0705-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0703-Don-t-broadcast-messages-to-command-blocks.patch similarity index 100% rename from patches/unapplied/server/0705-Don-t-broadcast-messages-to-command-blocks.patch rename to patches/server/0703-Don-t-broadcast-messages-to-command-blocks.patch diff --git a/patches/unapplied/server/0706-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0704-Prevent-empty-items-from-being-added-to-world.patch similarity index 89% rename from patches/unapplied/server/0706-Prevent-empty-items-from-being-added-to-world.patch rename to patches/server/0704-Prevent-empty-items-from-being-added-to-world.patch index 4f718f2374..0ce15dc3d4 100644 --- a/patches/unapplied/server/0706-Prevent-empty-items-from-being-added-to-world.patch +++ b/patches/server/0704-Prevent-empty-items-from-being-added-to-world.patch @@ -7,10 +7,10 @@ The previous solution caused a bunch of bandaid fixes inorder to resolve edge ca Just simply prevent them from being added to the world instead. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3e0563ae33a3ed8379939f92e72e9b9e0ea8ae3a..d090b46a6c6d7e99ec07623adc3fc77a9918b1da 100644 +index 08b819c19eda2ab53b1b37af7a90e38b06b67b85..32d368a18e14f247b4ddcb9d3dc16aa116359be4 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1205,6 +1205,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1206,6 +1206,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit return false; } else { diff --git a/patches/unapplied/server/0707-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0705-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch similarity index 100% rename from patches/unapplied/server/0707-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch rename to patches/server/0705-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch diff --git a/patches/unapplied/server/0708-Add-Player-getFishHook.patch b/patches/server/0706-Add-Player-getFishHook.patch similarity index 100% rename from patches/unapplied/server/0708-Add-Player-getFishHook.patch rename to patches/server/0706-Add-Player-getFishHook.patch diff --git a/patches/unapplied/server/0709-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0707-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch similarity index 100% rename from patches/unapplied/server/0709-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch rename to patches/server/0707-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch diff --git a/patches/unapplied/server/0710-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0708-Add-various-missing-EntityDropItemEvent-calls.patch similarity index 96% rename from patches/unapplied/server/0710-Add-various-missing-EntityDropItemEvent-calls.patch rename to patches/server/0708-Add-various-missing-EntityDropItemEvent-calls.patch index 3175db1ada..68485d3a81 100644 --- a/patches/unapplied/server/0710-Add-various-missing-EntityDropItemEvent-calls.patch +++ b/patches/server/0708-Add-various-missing-EntityDropItemEvent-calls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add various missing EntityDropItemEvent calls diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8062809659eab4f3667e297fc085093d4eb64154..1f40097a3cc2290516edc519313d139ea4ccd3cd 100644 +index 0ab366df0cdd6ccba64e355322ff134cce3b5f42..f030194e160123df6004c2d22f320e33fed00ed3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2673,6 +2673,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2698,6 +2698,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess stack.setCount(0); // Paper - destroy this item - if this ever leaks due to game bugs, ensure it doesn't dupe entityitem.setDefaultPickUpDelay(); @@ -37,7 +37,7 @@ index dde1ccca98f58200910334160f0f79eb00dd2388..5af4d590a9b0f17ba53c6959d9c18bd1 } } diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index 205aefd38a185fa411ff17cfb0155769de8fc2fd..67ea374ae3c66af434b4aadbe702a44d230fbe09 100644 +index 273ca38677223c28025629144c39e9e415145f70..7d9d4df95b5abbe340f813a9cb765e59e2bd6fae 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java @@ -492,14 +492,14 @@ public class Fox extends Animal implements VariantHolder { diff --git a/patches/unapplied/server/0711-Fix-Bee-flower-NPE.patch b/patches/server/0709-Fix-Bee-flower-NPE.patch similarity index 86% rename from patches/unapplied/server/0711-Fix-Bee-flower-NPE.patch rename to patches/server/0709-Fix-Bee-flower-NPE.patch index d84bd3a355..17dc8e7e29 100644 --- a/patches/unapplied/server/0711-Fix-Bee-flower-NPE.patch +++ b/patches/server/0709-Fix-Bee-flower-NPE.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Bee flower NPE diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 048a357546c8f5ad5dbb86e2e1ada2730a52d061..42276acfeadec6e7aa9a91d3f446f4fedb04829d 100644 +index a5eab5cdb761e3e9d37ea66287f26a2c3345182d..ca706f1ac5f4248164daa613eef81e46b3e5a210 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -940,7 +940,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -974,7 +974,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { Bee.this.dropFlower(); this.pollinating = false; Bee.this.remainingCooldownBeforeLocatingNewFlower = 200; diff --git a/patches/unapplied/server/0712-More-Teleport-API.patch b/patches/server/0710-More-Teleport-API.patch similarity index 98% rename from patches/unapplied/server/0712-More-Teleport-API.patch rename to patches/server/0710-More-Teleport-API.patch index 2ceedf2496..44a78dc343 100644 --- a/patches/unapplied/server/0712-More-Teleport-API.patch +++ b/patches/server/0710-More-Teleport-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More Teleport API diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index bc8f9bd50de3894e6262e13ed55252c98f22ed8a..10f7e45f192ef50b9d9bf5fc83a8090efb2b1042 100644 +index 1d2db5c0b1fbd98308659e878832cf7923b9eab0..8bf268094c6034d8b90b0e4d1a5269cce9216cdc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1585,11 +1585,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1639,11 +1639,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return true; // CraftBukkit - Return event status } @@ -113,7 +113,7 @@ index 10fb64df10820974d11f142c102a11a5bd0f317c..8d2f6bb43fb69a4a1e2085960eb24f43 private final org.bukkit.entity.Entity.Spigot spigot = new org.bukkit.entity.Entity.Spigot() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2df2a194851c170343e2aa3695122618285edc31..7c536fa1155dc87c54489dc145a41a02debda561 100644 +index eb48efa038043dacf539811de9e0f0faa1ec6b42..f9ab43049c7885d6d51a69abb08e961270de17e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1293,13 +1293,94 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0713-Add-EntityPortalReadyEvent.patch b/patches/server/0711-Add-EntityPortalReadyEvent.patch similarity index 94% rename from patches/unapplied/server/0713-Add-EntityPortalReadyEvent.patch rename to patches/server/0711-Add-EntityPortalReadyEvent.patch index 46f19b8cc8..086f824533 100644 --- a/patches/unapplied/server/0713-Add-EntityPortalReadyEvent.patch +++ b/patches/server/0711-Add-EntityPortalReadyEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityPortalReadyEvent diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index c00507fa7af579263caed67dafc2ea9eba09512b..fb361eac03c16ecee02219ff0524cce2292c7976 100644 +index 151025a407a07271bc205955f0ce06f84231563b..ac894e5651ea6145727639e2882edb236a47fb02 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -141,6 +141,14 @@ public class NetherPortalBlock extends Block implements Portal { diff --git a/patches/unapplied/server/0714-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0712-Don-t-use-level-random-in-entity-constructors.patch similarity index 96% rename from patches/unapplied/server/0714-Don-t-use-level-random-in-entity-constructors.patch rename to patches/server/0712-Don-t-use-level-random-in-entity-constructors.patch index 83efb1446f..d083d9ffea 100644 --- a/patches/unapplied/server/0714-Don-t-use-level-random-in-entity-constructors.patch +++ b/patches/server/0712-Don-t-use-level-random-in-entity-constructors.patch @@ -27,7 +27,7 @@ index 586257fe5c9f5cddd0ed164254f46777c6e71d66..d555fd0b200c012f30ed0c0ec09a37b2 public ItemEntity(Level world, double x, double y, double z, ItemStack stack, double velocityX, double velocityY, double velocityZ) { diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java -index 45c224198135e48f94dc72312c805bf451bf7b0e..de87483600e55d88176fe25db621bbd3e464729f 100644 +index 1d5de664af21013f68d59b326b1427bc632352de..809f5e847e2f5bb594c130cebd2cb897ea768d82 100644 --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java @@ -68,7 +68,7 @@ public class PrimedTnt extends Entity implements TraceableEntity { diff --git a/patches/unapplied/server/0715-Send-block-entities-after-destroy-prediction.patch b/patches/server/0713-Send-block-entities-after-destroy-prediction.patch similarity index 88% rename from patches/unapplied/server/0715-Send-block-entities-after-destroy-prediction.patch rename to patches/server/0713-Send-block-entities-after-destroy-prediction.patch index 33f40a7bcc..d1af4084e0 100644 --- a/patches/unapplied/server/0715-Send-block-entities-after-destroy-prediction.patch +++ b/patches/server/0713-Send-block-entities-after-destroy-prediction.patch @@ -57,19 +57,19 @@ index 5c3e5c348e6fececccd8097355f423b9e7ad982b..064a7a3e1c4d192010e072a5e985a541 } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 10f7e45f192ef50b9d9bf5fc83a8090efb2b1042..51ee01dfe5e144cb881c9376e586b95790a9ab98 100644 +index 8bf268094c6034d8b90b0e4d1a5269cce9216cdc..196026e7f0689270d9c7320109c9f4fbe697f3d0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1724,8 +1724,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - return; - } - // Paper end - Don't allow digging into unloaded chunks +@@ -1779,8 +1779,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + return; + } + // Paper end - Don't allow digging into unloaded chunks + // Paper start - Send block entities after destroy prediction + this.player.gameMode.capturedBlockEntity = false; + this.player.gameMode.captureSentBlockEntities = true; + // Paper end - Send block entities after destroy prediction - this.player.gameMode.handleBlockBreakAction(blockposition, packetplayinblockdig_enumplayerdigtype, packet.getDirection(), this.player.level().getMaxY(), packet.getSequence()); - this.player.connection.ackBlockChangesUpTo(packet.getSequence()); + this.player.gameMode.handleBlockBreakAction(blockposition, packetplayinblockdig_enumplayerdigtype, packet.getDirection(), this.player.level().getMaxY(), packet.getSequence()); + this.player.connection.ackBlockChangesUpTo(packet.getSequence()); + // Paper start - Send block entities after destroy prediction + this.player.gameMode.captureSentBlockEntities = false; + // If a block entity was modified speedup the block change ack to avoid the block entity @@ -86,6 +86,6 @@ index 10f7e45f192ef50b9d9bf5fc83a8090efb2b1042..51ee01dfe5e144cb881c9376e586b957 + } + } + // Paper end - Send block entities after destroy prediction - return; - default: - throw new IllegalArgumentException("Invalid player action"); + return; + default: + throw new IllegalArgumentException("Invalid player action"); diff --git a/patches/unapplied/server/0716-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0714-Warn-on-plugins-accessing-faraway-chunks.patch similarity index 95% rename from patches/unapplied/server/0716-Warn-on-plugins-accessing-faraway-chunks.patch rename to patches/server/0714-Warn-on-plugins-accessing-faraway-chunks.patch index 990dd560c1..056fcc0002 100644 --- a/patches/unapplied/server/0716-Warn-on-plugins-accessing-faraway-chunks.patch +++ b/patches/server/0714-Warn-on-plugins-accessing-faraway-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Warn on plugins accessing faraway chunks diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 9afc0eaaca5ab7b6445d90ce53e31a6ae76f8848..f0c2187a92de633a1d4cc7e71ff62cbe30ce8774 100644 +index a1731f09e724794be90dbf47e1d463a10cdb3052..447e4c77b5cd90e744e014b66af5f0a9ebe9c2d8 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -337,7 +337,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -338,7 +338,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } private static boolean isInWorldBoundsHorizontal(BlockPos pos) { @@ -18,7 +18,7 @@ index 9afc0eaaca5ab7b6445d90ce53e31a6ae76f8848..f0c2187a92de633a1d4cc7e71ff62cbe private static boolean isOutsideSpawnableHeight(int y) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 33735897ec3800754ba690ca215d3d11d746f728..b0e57ca463a3c7cb1be8920a899c9afc7c871f4b 100644 +index 827cf8b2e241e49dac961b103f32546a04f8a2f9..5379931b2403566f54e4ecf0699229d636d2d38f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -302,9 +302,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0717-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0715-Custom-Chat-Completion-Suggestions-API.patch similarity index 94% rename from patches/unapplied/server/0717-Custom-Chat-Completion-Suggestions-API.patch rename to patches/server/0715-Custom-Chat-Completion-Suggestions-API.patch index 52dce9a2b4..3ec8f74557 100644 --- a/patches/unapplied/server/0717-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0715-Custom-Chat-Completion-Suggestions-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7c536fa1155dc87c54489dc145a41a02debda561..84e58dbcbce92784cc6dd197b127736fdd2cc326 100644 +index f9ab43049c7885d6d51a69abb08e961270de17e9..0bbd2c533f2c6f42464c058b1eea86d210cbdf93 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -698,6 +698,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0718-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0716-Add-and-fix-missing-BlockFadeEvents.patch similarity index 100% rename from patches/unapplied/server/0718-Add-and-fix-missing-BlockFadeEvents.patch rename to patches/server/0716-Add-and-fix-missing-BlockFadeEvents.patch diff --git a/patches/unapplied/server/0719-Collision-API.patch b/patches/server/0717-Collision-API.patch similarity index 100% rename from patches/unapplied/server/0719-Collision-API.patch rename to patches/server/0717-Collision-API.patch diff --git a/patches/unapplied/server/0720-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0718-Fix-suggest-command-message-for-brigadier-syntax-exc.patch similarity index 100% rename from patches/unapplied/server/0720-Fix-suggest-command-message-for-brigadier-syntax-exc.patch rename to patches/server/0718-Fix-suggest-command-message-for-brigadier-syntax-exc.patch diff --git a/patches/unapplied/server/0721-Block-Ticking-API.patch b/patches/server/0719-Block-Ticking-API.patch similarity index 93% rename from patches/unapplied/server/0721-Block-Ticking-API.patch rename to patches/server/0719-Block-Ticking-API.patch index b490077b4f..f143dbcf0e 100644 --- a/patches/unapplied/server/0721-Block-Ticking-API.patch +++ b/patches/server/0719-Block-Ticking-API.patch @@ -46,10 +46,10 @@ index 68fcec085334383808b2117a49220f4d8239220b..7afb933782cac7e1ad621e80211c1306 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 0cf033e1b559506bd902a2159adef2b279c18798..d66cab6adc3f76a3863fed5d0d9a6abf765af5c6 100644 +index 78071859e9b745b2497fec7761888b4e65a208a1..fd941d9e38fa6c886b6779eaa63eebe00e1fa1b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -760,4 +760,11 @@ public class CraftBlockData implements BlockData { +@@ -761,4 +761,11 @@ public class CraftBlockData implements BlockData { return speed; } // Paper end - destroy speed API diff --git a/patches/unapplied/server/0722-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0720-Add-Velocity-IP-Forwarding-Support.patch similarity index 100% rename from patches/unapplied/server/0722-Add-Velocity-IP-Forwarding-Support.patch rename to patches/server/0720-Add-Velocity-IP-Forwarding-Support.patch diff --git a/patches/unapplied/server/0723-Add-NamespacedKey-biome-methods.patch b/patches/server/0721-Add-NamespacedKey-biome-methods.patch similarity index 94% rename from patches/unapplied/server/0723-Add-NamespacedKey-biome-methods.patch rename to patches/server/0721-Add-NamespacedKey-biome-methods.patch index 1734d3c119..8420d9c080 100644 --- a/patches/unapplied/server/0723-Add-NamespacedKey-biome-methods.patch +++ b/patches/server/0721-Add-NamespacedKey-biome-methods.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 2a3dc48aa50b41ede0e1a0e280314624961967f2..d4d5d40ba3bcf715e52aeb72ec4d14718c793e7c 100644 +index d7698f8ae59195458148397406a104224676b76e..088ff124ca82e69e59e02e6604959e399e4aff03 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -598,6 +598,16 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0724-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0722-Fix-plugin-loggers-on-server-shutdown.patch similarity index 92% rename from patches/unapplied/server/0724-Fix-plugin-loggers-on-server-shutdown.patch rename to patches/server/0722-Fix-plugin-loggers-on-server-shutdown.patch index afe1b6cf76..d88c01161e 100644 --- a/patches/unapplied/server/0724-Fix-plugin-loggers-on-server-shutdown.patch +++ b/patches/server/0722-Fix-plugin-loggers-on-server-shutdown.patch @@ -37,7 +37,7 @@ index 0000000000000000000000000000000000000000..c1d3bac79bb8b4796c013ff4472f75dc + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d7e5c1a5963139ab0362b565a964c998b2a9691b..0fb8abcead1047c00fa7ee9484d704fc1cb46da7 100644 +index 75ca3bc86c9f70df4ddf29a454b8b2bc251b4b9f..b88a91ff85727109241991f76ebad7c0119ad436 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1276,6 +1276,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index d86f10107e5f580fe96ff6a3cd186ca16d24f3f9..18c56cef30fca0174703e775b3bbbf6df4272585 100644 +index a35ee5cca91512a6b534140fe59df0f8355a097d..2d914f94c7c667ecb934254649d32190c3e1633a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3271,37 +3271,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3282,37 +3282,15 @@ public abstract class LivingEntity extends Entity implements Attackable { gameprofilerfiller.pop(); gameprofilerfiller.push("rangeChecks"); @@ -54,10 +54,10 @@ index d86f10107e5f580fe96ff6a3cd186ca16d24f3f9..18c56cef30fca0174703e775b3bbbf6d gameprofilerfiller.pop(); this.animStep += f2; diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 01684c903930b14a0df3a146176e2b476a374efb..bf7f81d99af300e89834981eab32568a3747d270 100644 +index f3781e37358f970b56e5b8de77ef224151270f1c..92bf8a3bac1146ed2393faa0f31e219288b466ca 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -428,13 +428,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -413,13 +413,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { } protected static float lerpRotation(float prevRot, float newRot) { diff --git a/patches/unapplied/server/0726-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0724-Fire-EntityChangeBlockEvent-in-more-places.patch similarity index 97% rename from patches/unapplied/server/0726-Fire-EntityChangeBlockEvent-in-more-places.patch rename to patches/server/0724-Fire-EntityChangeBlockEvent-in-more-places.patch index 1d46619357..49bb57e2aa 100644 --- a/patches/unapplied/server/0726-Fire-EntityChangeBlockEvent-in-more-places.patch +++ b/patches/server/0724-Fire-EntityChangeBlockEvent-in-more-places.patch @@ -250,10 +250,10 @@ index 7629b9212ded7155e94f67ca429f62271e5f5aa0..648c2510beb162e73aed236a3169d0bb world.gameEvent((Entity) player, (Holder) GameEvent.EAT, pos); if (i < 6) { diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -index 2bcd246a26dad560cf69682b29983d320ebf1884..05b2eab26e2dc8e143e9fff2dcec40cfe927a197 100644 +index 069535725720520b93dffd44ba1bc434528fd995..b4937f04b4cae1ddff8d6df0f608b2f2e3fb367c 100644 --- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -@@ -243,6 +243,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -245,6 +245,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { if (i < 8 && ComposterBlock.COMPOSTABLES.containsKey(stack.getItem())) { if (i < 7 && !world.isClientSide) { BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, stack); @@ -265,7 +265,7 @@ index 2bcd246a26dad560cf69682b29983d320ebf1884..05b2eab26e2dc8e143e9fff2dcec40cf world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0); player.awardStat(Stats.ITEM_USED.get(stack.getItem())); -@@ -273,11 +278,16 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -275,11 +280,16 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { if (i < 7 && ComposterBlock.COMPOSTABLES.containsKey(stack.getItem())) { // CraftBukkit start double rand = world.getRandom().nextDouble(); @@ -284,7 +284,7 @@ index 2bcd246a26dad560cf69682b29983d320ebf1884..05b2eab26e2dc8e143e9fff2dcec40cf // CraftBukkit end stack.shrink(1); -@@ -318,11 +328,13 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -320,11 +330,13 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { return iblockdata1; } @@ -298,7 +298,7 @@ index 2bcd246a26dad560cf69682b29983d320ebf1884..05b2eab26e2dc8e143e9fff2dcec40cf static BlockState addItem(@Nullable Entity entity, BlockState iblockdata, LevelAccessor generatoraccess, BlockPos blockposition, ItemStack itemstack, double rand) { // CraftBukkit end int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL); -@@ -333,6 +345,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -335,6 +347,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { } else { int j = i + 1; BlockState iblockdata1 = (BlockState) iblockdata.setValue(ComposterBlock.LEVEL, j); @@ -311,10 +311,10 @@ index 2bcd246a26dad560cf69682b29983d320ebf1884..05b2eab26e2dc8e143e9fff2dcec40cf generatoraccess.setBlock(blockposition, iblockdata1, 3); generatoraccess.gameEvent((Holder) GameEvent.BLOCK_CHANGE, blockposition, GameEvent.Context.of(entity, iblockdata1)); diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java -index 8224d5bddb7f7893dee09222a673af54791abcfa..f8828dc8334af19d7b2118e8cf34d94be5e09ee8 100644 +index 801528022c902714138c264bc4d05ef0df85912e..039e42aa243136234009217a5232900d31037de6 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java -@@ -260,7 +260,13 @@ public class BeehiveBlockEntity extends BlockEntity { +@@ -255,7 +255,13 @@ public class BeehiveBlockEntity extends BlockEntity { --j; } diff --git a/patches/unapplied/server/0727-Missing-eating-regain-reason.patch b/patches/server/0725-Missing-eating-regain-reason.patch similarity index 94% rename from patches/unapplied/server/0727-Missing-eating-regain-reason.patch rename to patches/server/0725-Missing-eating-regain-reason.patch index 38626b6352..9b79d094d3 100644 --- a/patches/unapplied/server/0727-Missing-eating-regain-reason.patch +++ b/patches/server/0725-Missing-eating-regain-reason.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Missing eating regain reason diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index bffc7c21727a6e5ff13a498aa51f6797e4d6d596..471d5727b964922d8e898be9e1d5c30f9d3bac97 100644 +index 9a67dfe214d3eb89d1f4371e716df759651ceb1b..989b7be74eaeba7f40eac87c7ee7f252cb0c05c9 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java -@@ -407,7 +407,7 @@ public class Cat extends TamableAnimal implements VariantHolder list = this.getEntitiesOfClass(LivingEntity.class, axisalignedbb, (entityliving) -> { @@ -115,17 +115,17 @@ index 064a7a3e1c4d192010e072a5e985a54135748d87..a706f0855fdf88cc9aece3ba00ef574b this.player.server.getPlayerList().broadcastAll(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_GAME_MODE, this.player), this.player); // CraftBukkit this.level.updateSleepingPlayerList(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 51ee01dfe5e144cb881c9376e586b95790a9ab98..f5e05a34afee8f5750b3a7871083968c5d75d2e7 100644 +index 196026e7f0689270d9c7320109c9f4fbe697f3d0..cf8a1ace849eb2c6418861d3dccd393b9b237381 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1832,7 +1832,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - this.player.swing(enumhand, true); +@@ -1889,7 +1889,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + this.player.swing(enumhand, true); + } } - } -- } +- } + } else { this.player.containerMenu.sendAllDataToRemote(); } // Paper - Fix inventory desync; MC-99075 - } else { - MutableComponent ichatmutablecomponent1 = Component.translatable("build.tooHigh", i).withStyle(ChatFormatting.RED); + } else { + MutableComponent ichatmutablecomponent1 = Component.translatable("build.tooHigh", i).withStyle(ChatFormatting.RED); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java index 1456945e8d6e82c59bf09150bfe24bd1ae14a8c3..4b8636c2107e6a16c26f259e0dbdbc40a1268e06 100644 @@ -253,7 +253,7 @@ index 15a1ea01917ce57c2457094186dde937c21ffb22..b0236c7bf9441aa84d3795ffed05dd60 return 1; } diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java -index cad0b581c992edc5cd312a727695a443e26e96d8..9db647cfbd3f9c884465cf3d3a1b911d46a3da58 100644 +index c257660c79516a5919032b771fc3ac9575e9db9d..5d7f4e4f420c7e0a3467b7ec3859cae2eb63870f 100644 --- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java +++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java @@ -164,6 +164,11 @@ public class BeaconMenu extends AbstractContainerMenu { @@ -282,10 +282,10 @@ index 7dd6b7c0ea472cfbc7ece55bc64bc5d85be4a6c0..6dcb571e9f35fbae724be69dc113b0c3 entity.clearFire(); } diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index 9c1267df7057caa3500c7a9e6c705ea58c2b5e11..4d36aa195332c2ff6fa7bc5fff61ff7dc80a3fd5 100644 +index 7b63e2fd004ae452c7350f0b2d8d7c57a42891ea..5b2c7b8fb780e837d9d735ac86dcac949732ec69 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -@@ -531,13 +531,10 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -526,13 +526,10 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit @Override public void fillStackedContents(StackedItemContents finder) { @@ -320,10 +320,10 @@ index 8aab6f68f576fb022eb59798585e264f5aafbc69..edd6017937a7f20a1b43fa15204ec130 } diff --git a/src/main/java/net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerData.java b/src/main/java/net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerData.java -index e64a30577e9000e5c4d22fd3d9cf8a9381c5c459..a49f83784f85f5420091692aae588ef067aa5fcd 100644 +index 2f808e5f3a5fb2b63f273f6da47292cfd9719bcc..f4ba1afe2f4dc528fc154258d8bc9e144794980f 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerData.java +++ b/src/main/java/net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerData.java -@@ -101,9 +101,9 @@ public class TrialSpawnerData { +@@ -100,9 +100,9 @@ public class TrialSpawnerData { this.ejectingLootTable = rewardLootTable; } diff --git a/patches/unapplied/server/0737-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0735-Remove-unnecessary-onTrackingStart-during-navigation.patch similarity index 88% rename from patches/unapplied/server/0737-Remove-unnecessary-onTrackingStart-during-navigation.patch rename to patches/server/0735-Remove-unnecessary-onTrackingStart-during-navigation.patch index 1997aae5c2..6fccf99621 100644 --- a/patches/unapplied/server/0737-Remove-unnecessary-onTrackingStart-during-navigation.patch +++ b/patches/server/0735-Remove-unnecessary-onTrackingStart-during-navigation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove unnecessary onTrackingStart during navigation warning diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 88e3408244f57e9138d7ca7f9b2b90d4f8b66f7e..6db3418d839c0f4cd75ad822e605dc2105c3df53 100644 +index 03959bd6f40db9fb8f5da83377b8427ed0341f8a..ee1b0bb6c6681c32b32ebf50e15e261a123beb1a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2242,7 +2242,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2248,7 +2248,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } if (entity instanceof Mob entityinsentient) { @@ -17,7 +17,7 @@ index 88e3408244f57e9138d7ca7f9b2b90d4f8b66f7e..6db3418d839c0f4cd75ad822e605dc21 String s = "onTrackingStart called during navigation iteration"; Util.logAndPauseIfInIde("onTrackingStart called during navigation iteration", new IllegalStateException("onTrackingStart called during navigation iteration")); -@@ -2322,7 +2322,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2328,7 +2328,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } if (entity instanceof Mob entityinsentient) { diff --git a/patches/unapplied/server/0738-Fix-custom-piglin-loved-items.patch b/patches/server/0736-Fix-custom-piglin-loved-items.patch similarity index 100% rename from patches/unapplied/server/0738-Fix-custom-piglin-loved-items.patch rename to patches/server/0736-Fix-custom-piglin-loved-items.patch diff --git a/patches/unapplied/server/0739-EntityPickupItemEvent-fixes.patch b/patches/server/0737-EntityPickupItemEvent-fixes.patch similarity index 94% rename from patches/unapplied/server/0739-EntityPickupItemEvent-fixes.patch rename to patches/server/0737-EntityPickupItemEvent-fixes.patch index 839a01673d..829f3de4fd 100644 --- a/patches/unapplied/server/0739-EntityPickupItemEvent-fixes.patch +++ b/patches/server/0737-EntityPickupItemEvent-fixes.patch @@ -12,10 +12,10 @@ Fires the event when a Raider tries to pick up a raid banner to become raid leader. diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index 15a49e3541c8b45db5e472a64fa0cb94c5a72f67..e04d2c5e75dc774fe893a552474fdb8045c32693 100644 +index 5e64a6b94a510ed618a2542ad03e406a181b63d4..2121d2a2e1aa1d0f0390cc515317096431f6dcb0 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -@@ -429,7 +429,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -438,7 +438,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @Override protected void pickUpItem(ServerLevel world, ItemEntity itemEntity) { @@ -56,7 +56,7 @@ index 5c26beef2d3f3d4afa51950ddeb7089989218462..e283b1296c1e831376bfe9491cbf02ed if (!flag) { PiglinAi.putInInventory(piglin, itemstack); diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java -index 45375ccdcf730732dd915304dea2f523807eedd6..ab132041982df2a701e4baea8195873f31b4a5fb 100644 +index 6a7d9b59ff4aa2962a88ae8688c06bc67d70dfda..cee1e4db2312efb4843c4b6dc18f4af10b91d304 100644 --- a/src/main/java/net/minecraft/world/entity/raid/Raider.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java @@ -228,6 +228,11 @@ public abstract class Raider extends PatrollingMonster { diff --git a/patches/unapplied/server/0740-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0738-Correctly-handle-interactions-with-items-on-cooldown.patch similarity index 100% rename from patches/unapplied/server/0740-Correctly-handle-interactions-with-items-on-cooldown.patch rename to patches/server/0738-Correctly-handle-interactions-with-items-on-cooldown.patch diff --git a/patches/unapplied/server/0741-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0739-Add-PlayerInventorySlotChangeEvent.patch similarity index 95% rename from patches/unapplied/server/0741-Add-PlayerInventorySlotChangeEvent.patch rename to patches/server/0739-Add-PlayerInventorySlotChangeEvent.patch index 873fac7831..69d629988b 100644 --- a/patches/unapplied/server/0741-Add-PlayerInventorySlotChangeEvent.patch +++ b/patches/server/0739-Add-PlayerInventorySlotChangeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerInventorySlotChangeEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0f7a07a22ee1db3fd96c06ce7248d9d5392bd14f..046f7f73a6b1673d0736c49b5d0fb09b6eb6d91d 100644 +index 6236f5cbd32e9547bbb1312c322195e440dadc60..f6f1542657a6d96c34523ee3c3ab43586dd65e25 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -381,6 +381,25 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -379,6 +379,25 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { } } diff --git a/patches/unapplied/server/0742-Elder-Guardian-appearance-API.patch b/patches/server/0740-Elder-Guardian-appearance-API.patch similarity index 84% rename from patches/unapplied/server/0742-Elder-Guardian-appearance-API.patch rename to patches/server/0740-Elder-Guardian-appearance-API.patch index cc3c415447..fe6d385831 100644 --- a/patches/unapplied/server/0742-Elder-Guardian-appearance-API.patch +++ b/patches/server/0740-Elder-Guardian-appearance-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 84e58dbcbce92784cc6dd197b127736fdd2cc326..364cca0680da16a3c38749ad7c668263808eff9b 100644 +index 0bbd2c533f2c6f42464c058b1eea86d210cbdf93..38d3daba9715fdc73b59199f0aea09279799a25c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3310,6 +3310,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3295,6 +3295,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/unapplied/server/0743-Add-entity-knockback-API.patch b/patches/server/0741-Add-entity-knockback-API.patch similarity index 91% rename from patches/unapplied/server/0743-Add-entity-knockback-API.patch rename to patches/server/0741-Add-entity-knockback-API.patch index 71f4427274..3fe877123b 100644 --- a/patches/unapplied/server/0743-Add-entity-knockback-API.patch +++ b/patches/server/0741-Add-entity-knockback-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add entity knockback API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 14b4c3835388d957653ba34444968bb718ce7f68..4fa19ddb1414282020e118eea298d57d2bf42754 100644 +index 2028f9874e96a3b274528858d4149b04a075f256..ed67bf4f30afa9dba604cc406b0a4fbe99dbb2b2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1146,4 +1146,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0744-Detect-headless-JREs.patch b/patches/server/0742-Detect-headless-JREs.patch similarity index 94% rename from patches/unapplied/server/0744-Detect-headless-JREs.patch rename to patches/server/0742-Detect-headless-JREs.patch index e680b6146f..6c876a6796 100644 --- a/patches/unapplied/server/0744-Detect-headless-JREs.patch +++ b/patches/server/0742-Detect-headless-JREs.patch @@ -27,10 +27,10 @@ index 68098dfe716e93aafcca4d8d5b5a81d8648b3654..2b7070e0cefa7cf0777df159693750fe + } } diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index cf071610ed662c4a309cc26ee73a74fa490d846f..47cd7c66ac37efebf2f63c49d78dd8fe44a70ef8 100644 +index c551f6827476b6432ebe1d48e7ca5d168df305c5..16322471d83c461098a6ada11e790b9fba7b5ea2 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -167,6 +167,18 @@ public class Main { +@@ -169,6 +169,18 @@ public class Main { return; } diff --git a/patches/unapplied/server/0745-fix-entity-vehicle-collision-event-not-called.patch b/patches/server/0743-fix-entity-vehicle-collision-event-not-called.patch similarity index 100% rename from patches/unapplied/server/0745-fix-entity-vehicle-collision-event-not-called.patch rename to patches/server/0743-fix-entity-vehicle-collision-event-not-called.patch diff --git a/patches/unapplied/server/0746-Add-EntityToggleSitEvent.patch b/patches/server/0744-Add-EntityToggleSitEvent.patch similarity index 94% rename from patches/unapplied/server/0746-Add-EntityToggleSitEvent.patch rename to patches/server/0744-Add-EntityToggleSitEvent.patch index 7bab6af93d..375c8635da 100644 --- a/patches/unapplied/server/0746-Add-EntityToggleSitEvent.patch +++ b/patches/server/0744-Add-EntityToggleSitEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityToggleSitEvent diff --git a/src/main/java/net/minecraft/world/entity/TamableAnimal.java b/src/main/java/net/minecraft/world/entity/TamableAnimal.java -index 749ae54ee42229cb32ec5280bc59a88f74fde197..f6a253e063f4a2cf78a036e44431806a0ba270d9 100644 +index 1c195c928fb5c165981665393424a64004331c93..5bcdeb3eb463d637b16abfb43d5489c0334b6673 100644 --- a/src/main/java/net/minecraft/world/entity/TamableAnimal.java +++ b/src/main/java/net/minecraft/world/entity/TamableAnimal.java -@@ -87,7 +87,7 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity { +@@ -90,7 +90,7 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity { } this.orderedToSit = nbt.getBoolean("Sitting"); @@ -17,7 +17,7 @@ index 749ae54ee42229cb32ec5280bc59a88f74fde197..f6a253e063f4a2cf78a036e44431806a } @Override -@@ -167,6 +167,12 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity { +@@ -174,6 +174,12 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity { } public void setInSittingPose(boolean inSittingPose) { @@ -31,7 +31,7 @@ index 749ae54ee42229cb32ec5280bc59a88f74fde197..f6a253e063f4a2cf78a036e44431806a if (inSittingPose) { diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index 67ea374ae3c66af434b4aadbe702a44d230fbe09..a9a8ebb2cebe668628d5bdb33fa1399e0ab1e08b 100644 +index 7d9d4df95b5abbe340f813a9cb765e59e2bd6fae..d48c2bdb004c86e9e08680138fe51dc3b2975a64 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java @@ -419,7 +419,7 @@ public class Fox extends Animal implements VariantHolder { diff --git a/patches/unapplied/server/0747-Add-fire-tick-delay-option.patch b/patches/server/0745-Add-fire-tick-delay-option.patch similarity index 95% rename from patches/unapplied/server/0747-Add-fire-tick-delay-option.patch rename to patches/server/0745-Add-fire-tick-delay-option.patch index 7db107dee9..8e6c314b76 100644 --- a/patches/unapplied/server/0747-Add-fire-tick-delay-option.patch +++ b/patches/server/0745-Add-fire-tick-delay-option.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add fire-tick-delay option diff --git a/src/main/java/net/minecraft/world/level/block/FireBlock.java b/src/main/java/net/minecraft/world/level/block/FireBlock.java -index 065d6164b5c9d65d20e7790c607d77e9ad70dfef..0e5a47ab235d99e6cb1468905f791c2c59ac0082 100644 +index bd7835a8b470662b32cc28a4d8f777d4bb8dc60c..4535b514e808fa66318009455c465774b6a139be 100644 --- a/src/main/java/net/minecraft/world/level/block/FireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java @@ -171,7 +171,7 @@ public class FireBlock extends BaseFireBlock { diff --git a/patches/unapplied/server/0748-Add-Moving-Piston-API.patch b/patches/server/0746-Add-Moving-Piston-API.patch similarity index 100% rename from patches/unapplied/server/0748-Add-Moving-Piston-API.patch rename to patches/server/0746-Add-Moving-Piston-API.patch diff --git a/patches/unapplied/server/0749-Ignore-impossible-spawn-tick.patch b/patches/server/0747-Ignore-impossible-spawn-tick.patch similarity index 100% rename from patches/unapplied/server/0749-Ignore-impossible-spawn-tick.patch rename to patches/server/0747-Ignore-impossible-spawn-tick.patch diff --git a/patches/unapplied/server/0750-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch b/patches/server/0748-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch similarity index 100% rename from patches/unapplied/server/0750-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch rename to patches/server/0748-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch diff --git a/patches/unapplied/server/0751-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0749-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch similarity index 92% rename from patches/unapplied/server/0751-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch rename to patches/server/0749-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch index c12c95ac99..ce92b92539 100644 --- a/patches/unapplied/server/0751-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch +++ b/patches/server/0749-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix EntityCombustEvent cancellation cant fully prevent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1f40097a3cc2290516edc519313d139ea4ccd3cd..44d2c476981bc2c24f89009dcf628ece28fc8e32 100644 +index f030194e160123df6004c2d22f320e33fed00ed3..107bb275b422cde0ff648176aa15573739a2c80b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3321,6 +3321,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3351,6 +3351,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess pluginManager.callEvent(entityCombustEvent); if (!entityCombustEvent.isCancelled()) { this.igniteForSeconds(entityCombustEvent.getDuration(), false); diff --git a/patches/unapplied/server/0752-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0750-Add-PrePlayerAttackEntityEvent.patch similarity index 91% rename from patches/unapplied/server/0752-Add-PrePlayerAttackEntityEvent.patch rename to patches/server/0750-Add-PrePlayerAttackEntityEvent.patch index 5a925374e5..5ca555ff3c 100644 --- a/patches/unapplied/server/0752-Add-PrePlayerAttackEntityEvent.patch +++ b/patches/server/0750-Add-PrePlayerAttackEntityEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PrePlayerAttackEntityEvent diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index b8edbd23d547d7189ec64c5d3a8cd1d51859ce23..30e0a5fe3f9bd85d2b702c2c877c5682ed35d461 100644 +index 81e3072ac80623db47ddc0b9c52e0e56dab9e10e..551f7c3750c87527ffc78545c99075221437d1dc 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1222,8 +1222,17 @@ public abstract class Player extends LivingEntity { +@@ -1225,8 +1225,17 @@ public abstract class Player extends LivingEntity { } public void attack(Entity target) { diff --git a/patches/unapplied/server/0753-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0751-ensure-reset-EnderDragon-boss-event-name.patch similarity index 100% rename from patches/unapplied/server/0753-ensure-reset-EnderDragon-boss-event-name.patch rename to patches/server/0751-ensure-reset-EnderDragon-boss-event-name.patch diff --git a/patches/unapplied/server/0754-Add-Player-Warden-Warning-API.patch b/patches/server/0752-Add-Player-Warden-Warning-API.patch similarity index 93% rename from patches/unapplied/server/0754-Add-Player-Warden-Warning-API.patch rename to patches/server/0752-Add-Player-Warden-Warning-API.patch index 8c780e80f9..7edc6b34a9 100644 --- a/patches/unapplied/server/0754-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0752-Add-Player-Warden-Warning-API.patch @@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 364cca0680da16a3c38749ad7c668263808eff9b..da5f9cbb1c0376ac492cb7a92af79da3ff486c63 100644 +index 38d3daba9715fdc73b59199f0aea09279799a25c..844ff0a4e75f7d2339327d20c6c9b87a354b64ec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3315,6 +3315,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3300,6 +3300,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void showElderGuardian(boolean silent) { if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F)); } diff --git a/patches/unapplied/server/0755-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0753-More-vanilla-friendly-methods-to-update-trades.patch similarity index 97% rename from patches/unapplied/server/0755-More-vanilla-friendly-methods-to-update-trades.patch rename to patches/server/0753-More-vanilla-friendly-methods-to-update-trades.patch index b3901a0ae7..54ee0482e2 100644 --- a/patches/unapplied/server/0755-More-vanilla-friendly-methods-to-update-trades.patch +++ b/patches/server/0753-More-vanilla-friendly-methods-to-update-trades.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More vanilla friendly methods to update trades diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index f51078e4b9e6267fa43795d009f5d149b86acb5a..a573aa4d387ad3a4e1017890f2b50b83a3c27ff4 100644 +index 27db2878073d1d77813574adfc54d1d686fc7088..af1aee3f6aefaa415601db5fd0bd461b84e68447 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -895,6 +895,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied/server/0756-Add-paper-dumplisteners-command.patch b/patches/server/0754-Add-paper-dumplisteners-command.patch similarity index 100% rename from patches/unapplied/server/0756-Add-paper-dumplisteners-command.patch rename to patches/server/0754-Add-paper-dumplisteners-command.patch diff --git a/patches/unapplied/server/0757-check-global-player-list-where-appropriate.patch b/patches/server/0755-check-global-player-list-where-appropriate.patch similarity index 89% rename from patches/unapplied/server/0757-check-global-player-list-where-appropriate.patch rename to patches/server/0755-check-global-player-list-where-appropriate.patch index c8b1741440..53008287be 100644 --- a/patches/unapplied/server/0757-check-global-player-list-where-appropriate.patch +++ b/patches/server/0755-check-global-player-list-where-appropriate.patch @@ -7,10 +7,10 @@ Makes certain entities check all players when searching for a player instead of just checking players in their world. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 6db3418d839c0f4cd75ad822e605dc2105c3df53..77c1ddc6fd14e0b033825909e5c814abd2306f8d 100644 +index ee1b0bb6c6681c32b32ebf50e15e261a123beb1a..334b21a37196f4bf1046d9506c9a491d2662adad 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2358,4 +2358,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2364,4 +2364,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe entity.updateDynamicGameEventListener(DynamicGameEventListener::move); } } @@ -24,10 +24,10 @@ index 6db3418d839c0f4cd75ad822e605dc2105c3df53..77c1ddc6fd14e0b033825909e5c814ab + // Paper end - check global player list where appropriate } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 18c56cef30fca0174703e775b3bbbf6df4272585..d239108bd98fe885eba50a17855f2d62de02c70e 100644 +index 2d914f94c7c667ecb934254649d32190c3e1633a..a69fbbbb38d1222d4e067550fa71a98beb4afb18 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3866,7 +3866,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3877,7 +3877,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } public void onItemPickup(ItemEntity item) { @@ -37,7 +37,7 @@ index 18c56cef30fca0174703e775b3bbbf6df4272585..d239108bd98fe885eba50a17855f2d62 if (entity instanceof ServerPlayer) { CriteriaTriggers.THROWN_ITEM_PICKED_UP_BY_ENTITY.trigger((ServerPlayer) entity, item.getItem(), this); diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index 533cb2eff3d56e7e8a70aba5e1047250e192bf2c..18c19e4b675000aacb74344909fc104964231008 100644 +index a5d13b8bf7d0b6423ef428042e1134f5999cc24b..30bce56a70f923b0ec77c8e3f29e435a71c71510 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -262,7 +262,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -66,7 +66,7 @@ index dac8305f1c897e6f82a2dde67c5b1b6b8b649b19..e185a33b5b1f8e8e0a0e666b24ba3e91 + // Paper end - check global player list where appropriate } diff --git a/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java -index ea53c25c350c0cf8e0360ea409cd1f69a62054a8..275721d8b3d653b38af505dde30396c0b7b6a3da 100644 +index 4bc3eded897b067e00c8e310c1be603aa7097ac4..84b6d88fdfe2cb8de297ef8a62cf923f004ee397 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java @@ -105,6 +105,13 @@ public class SculkShriekerBlockEntity extends BlockEntity implements GameEventLi diff --git a/patches/unapplied/server/0758-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0756-Fix-async-entity-add-due-to-fungus-trees.patch similarity index 100% rename from patches/unapplied/server/0758-Fix-async-entity-add-due-to-fungus-trees.patch rename to patches/server/0756-Fix-async-entity-add-due-to-fungus-trees.patch diff --git a/patches/unapplied/server/0759-ItemStack-damage-API.patch b/patches/server/0757-ItemStack-damage-API.patch similarity index 93% rename from patches/unapplied/server/0759-ItemStack-damage-API.patch rename to patches/server/0757-ItemStack-damage-API.patch index 55e7f06af1..4d8a5019b0 100644 --- a/patches/unapplied/server/0759-ItemStack-damage-API.patch +++ b/patches/server/0757-ItemStack-damage-API.patch @@ -11,10 +11,10 @@ the logic associated with damaging them public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index bcb3a45166e5dd75dd727adf92304b3a75399c8d..90a55f00c36903d52630c51bf69322973a2b5274 100644 +index 679112d1622744680b7d3c7d296acafac019d00a..63872104e7302dbbc9c482a4ed8a9a34710e1eb4 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -693,8 +693,13 @@ public final class ItemStack implements DataComponentHolder { +@@ -698,8 +698,13 @@ public final class ItemStack implements DataComponentHolder { } public void hurtAndBreak(int amount, ServerLevel world, @Nullable LivingEntity player, Consumer breakCallback) { // Paper - Add EntityDamageItemEvent @@ -29,7 +29,7 @@ index bcb3a45166e5dd75dd727adf92304b3a75399c8d..90a55f00c36903d52630c51bf6932297 // CraftBukkit start if (player instanceof final ServerPlayer serverPlayer) { // Paper - Add EntityDamageItemEvent PlayerItemDamageEvent event = new PlayerItemDamageEvent(serverPlayer.getBukkitEntity(), CraftItemStack.asCraftMirror(this), j, originalDamage); // Paper - Add EntityDamageItemEvent -@@ -726,7 +731,12 @@ public final class ItemStack implements DataComponentHolder { +@@ -731,7 +736,12 @@ public final class ItemStack implements DataComponentHolder { } private int processDurabilityChange(int baseDamage, ServerLevel world, @Nullable LivingEntity player) { // Paper - Add EntityDamageItemEvent @@ -43,7 +43,7 @@ index bcb3a45166e5dd75dd727adf92304b3a75399c8d..90a55f00c36903d52630c51bf6932297 } private void applyDamage(int damage, @Nullable LivingEntity player, Consumer breakCallback) { // Paper - Add EntityDamageItemEvent -@@ -766,6 +776,11 @@ public final class ItemStack implements DataComponentHolder { +@@ -771,6 +781,11 @@ public final class ItemStack implements DataComponentHolder { } public void hurtAndBreak(int amount, LivingEntity entity, EquipmentSlot slot) { @@ -55,7 +55,7 @@ index bcb3a45166e5dd75dd727adf92304b3a75399c8d..90a55f00c36903d52630c51bf6932297 Level world = entity.level(); if (world instanceof ServerLevel worldserver) { -@@ -778,8 +793,8 @@ public final class ItemStack implements DataComponentHolder { +@@ -783,8 +798,8 @@ public final class ItemStack implements DataComponentHolder { } this.hurtAndBreak(amount, worldserver, entity, (item) -> { // Paper - Add EntityDamageItemEvent @@ -67,7 +67,7 @@ index bcb3a45166e5dd75dd727adf92304b3a75399c8d..90a55f00c36903d52630c51bf6932297 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 4fa19ddb1414282020e118eea298d57d2bf42754..1ceaa081231a617bd87331b308c24d9c7a8dcf2b 100644 +index ed67bf4f30afa9dba604cc406b0a4fbe99dbb2b2..ad7f1adab37376814d01398b0fd469cbcc91ab3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1154,4 +1154,48 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0760-Friction-API.patch b/patches/server/0758-Friction-API.patch similarity index 97% rename from patches/unapplied/server/0760-Friction-API.patch rename to patches/server/0758-Friction-API.patch index d0219e68b9..7aae2276b9 100644 --- a/patches/unapplied/server/0760-Friction-API.patch +++ b/patches/server/0758-Friction-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Friction API diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index d239108bd98fe885eba50a17855f2d62de02c70e..cd2d6b55b494830797014dbc3cc1f0fbf6518249 100644 +index a69fbbbb38d1222d4e067550fa71a98beb4afb18..b2c94edf9e1161aa97aa56f4124d96bd6a9b42ce 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -296,6 +296,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -294,6 +294,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public boolean bukkitPickUpLoot; public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event @@ -199,7 +199,7 @@ index 1a291dd8a287db30e71dcb315599fc4b038764c4..30d62ee4d5cd2ddacb8783b5bbbf475d public int getHealth() { return this.getHandle().health; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 1ceaa081231a617bd87331b308c24d9c7a8dcf2b..2fd4a3068d86a37cc18c9203448823c53d590ffb 100644 +index ad7f1adab37376814d01398b0fd469cbcc91ab3a..8bda60a24c25d7a529f8ef1c70ea2442f76e1bfe 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1198,4 +1198,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0761-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0759-Ability-to-control-player-s-insomnia-and-phantoms.patch similarity index 100% rename from patches/unapplied/server/0761-Ability-to-control-player-s-insomnia-and-phantoms.patch rename to patches/server/0759-Ability-to-control-player-s-insomnia-and-phantoms.patch diff --git a/patches/unapplied/server/0762-Fix-premature-player-kicks-on-shutdown.patch b/patches/server/0760-Fix-premature-player-kicks-on-shutdown.patch similarity index 94% rename from patches/unapplied/server/0762-Fix-premature-player-kicks-on-shutdown.patch rename to patches/server/0760-Fix-premature-player-kicks-on-shutdown.patch index 814f370b2d..7453334efc 100644 --- a/patches/unapplied/server/0762-Fix-premature-player-kicks-on-shutdown.patch +++ b/patches/server/0760-Fix-premature-player-kicks-on-shutdown.patch @@ -35,7 +35,7 @@ index 0000000000000000000000000000000000000000..2c5cd77103c5a33d4349ab6b9ee2d837 + } +} diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 4d9f1fc884050993287adfa4578a87da710623fb..a8dfe7a4b3d01bf75587be078f471d1ef1d7a667 100644 +index 72e69f60fb687f102c963b61042b19162a5ec0b2..c12335bc83d31ec65fe2d7cbe0b084748e670010 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -285,6 +285,7 @@ public class Connection extends SimpleChannelInboundHandler> { @@ -47,7 +47,7 @@ index 4d9f1fc884050993287adfa4578a87da710623fb..a8dfe7a4b3d01bf75587be078f471d1e this.disconnect((Component) Component.translatable("multiplayer.disconnect.server_shutdown")); } catch (ClassCastException classcastexception) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0fb8abcead1047c00fa7ee9484d704fc1cb46da7..3cc43a697ccccac582b72b65bdf6ba08156a0d30 100644 +index b88a91ff85727109241991f76ebad7c0119ad436..0c44f59445e9cd5d2767cbabe874e137b2420a2d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2127,7 +2127,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7f1fc7523ff98bf932ffc31035c233f6517e5192..762382b45afbc18810787858539fba62afc3e84c 100644 +index 739e2c724a1f6170de2298ce2238751f7a6fd05f..838a9c2067503e05ade83e1b7f361880becce994 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2079,7 +2079,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2139,7 +2139,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void performUnsignedChatCommand(String command) { // CraftBukkit start String command1 = "/" + command; @@ -19,7 +19,7 @@ index 7f1fc7523ff98bf932ffc31035c233f6517e5192..762382b45afbc18810787858539fba62 PlayerCommandPreprocessEvent event = new PlayerCommandPreprocessEvent(this.getCraftPlayer(), command1, new LazyPlayerSet(this.server)); this.cserver.getPluginManager().callEvent(event); -@@ -2119,7 +2121,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2179,7 +2181,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void performSignedChatCommand(ServerboundChatCommandSignedPacket packet, LastSeenMessages lastSeenMessages) { // CraftBukkit start String command = "/" + packet.command(); diff --git a/patches/unapplied/server/0774-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0772-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch similarity index 100% rename from patches/unapplied/server/0774-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch rename to patches/server/0772-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch diff --git a/patches/unapplied/server/0775-Flying-Fall-Damage.patch b/patches/server/0773-Flying-Fall-Damage.patch similarity index 83% rename from patches/unapplied/server/0775-Flying-Fall-Damage.patch rename to patches/server/0773-Flying-Fall-Damage.patch index 26fa959443..d74e2cad08 100644 --- a/patches/unapplied/server/0775-Flying-Fall-Damage.patch +++ b/patches/server/0773-Flying-Fall-Damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 30e0a5fe3f9bd85d2b702c2c877c5682ed35d461..aca888c2f02b09ac6739bdc81b194c4527dd69f5 100644 +index 551f7c3750c87527ffc78545c99075221437d1dc..7dd601d0b0efd285a913a074ffa42e142bda8889 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -196,6 +196,7 @@ public abstract class Player extends LivingEntity { +@@ -199,6 +199,7 @@ public abstract class Player extends LivingEntity { private boolean ignoreFallDamageFromCurrentImpulse; private int currentImpulseContextResetGraceTime; public boolean affectsSpawning = true; // Paper - Affects Spawning API @@ -16,7 +16,7 @@ index 30e0a5fe3f9bd85d2b702c2c877c5682ed35d461..aca888c2f02b09ac6739bdc81b194c45 // CraftBukkit start public boolean fauxSleeping; -@@ -1651,7 +1652,7 @@ public abstract class Player extends LivingEntity { +@@ -1654,7 +1655,7 @@ public abstract class Player extends LivingEntity { @Override public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { @@ -26,7 +26,7 @@ index 30e0a5fe3f9bd85d2b702c2c877c5682ed35d461..aca888c2f02b09ac6739bdc81b194c45 } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3bbb1f29e98a75a5be8ba1777c6f8c088267d599..4e37b5c5f95607c368495b0b02a4987d9741b84d 100644 +index 68329d971594ed24438b9398a5a4219a71aed28d..c00cf53b7b7b6d8b1ecd582c49fe82263920f0df 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2593,6 +2593,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -47,5 +47,5 @@ index 3bbb1f29e98a75a5be8ba1777c6f8c088267d599..4e37b5c5f95607c368495b0b02a4987d + // Paper end - flying fall damage + @Override - public int getNoDamageTicks() { - if (this.getHandle().spawnInvulnerableTime > 0) { + public void setFlySpeed(float value) { + this.validateSpeed(value); diff --git a/patches/unapplied/server/0776-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0774-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch similarity index 86% rename from patches/unapplied/server/0776-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch rename to patches/server/0774-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch index e26237618f..829ce3de58 100644 --- a/patches/unapplied/server/0776-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch +++ b/patches/server/0774-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose pre-collision moving velocity to diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4135eeab128fc989d9357dee59c779d2812106e8..61bd5290d0056656ab761ecf38cf8c8bbb80ab94 100644 +index b3036c121064af76f0d7cd538245a47801a3a738..bea167afbdd3a2f54b00c3abdb840014313fd239 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -969,6 +969,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -977,6 +977,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public void move(MoverType type, Vec3 movement) { @@ -17,7 +17,7 @@ index 4135eeab128fc989d9357dee59c779d2812106e8..61bd5290d0056656ab761ecf38cf8c8b if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { -@@ -1060,7 +1061,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1071,7 +1072,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } if (!bl.getType().isAir()) { diff --git a/patches/unapplied/server/0777-config-for-disabling-entity-tag-tags.patch b/patches/server/0775-config-for-disabling-entity-tag-tags.patch similarity index 71% rename from patches/unapplied/server/0777-config-for-disabling-entity-tag-tags.patch rename to patches/server/0775-config-for-disabling-entity-tag-tags.patch index 59c33843ce..70bef01fe4 100644 --- a/patches/unapplied/server/0777-config-for-disabling-entity-tag-tags.patch +++ b/patches/server/0775-config-for-disabling-entity-tag-tags.patch @@ -5,13 +5,13 @@ Subject: [PATCH] config for disabling entity tag tags diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 989b766bc166141a391e0a7c1a5eb815e20acfac..64dc0bd1900575e40ac72a98c6df371223bd244c 100644 +index d62c17c01f39d41d7cd422d37326a66791804090..979c99851ccb363d889069bafa5b5f7eb6b1a436 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -569,6 +569,16 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -579,6 +579,15 @@ public class EntityType implements FeatureElement, EntityTypeT - if (minecraftserver != null && entity != null) { - if (world.isClientSide || !entity.onlyOpCanSetNbt() || player != null && minecraftserver.getPlayerList().isOp(player.getGameProfile())) { + if (entity.getType() == entitytypes) { + if (world.isClientSide || !entity.getType().onlyOpCanSetNbt() || player != null && minecraftserver.getPlayerList().isOp(player.getGameProfile())) { + // Paper start - filter out protected tags + if (player == null || !player.getBukkitEntity().hasPermission("minecraft.nbt.place")) { + nbt = nbt.update((compound) -> { @@ -21,7 +21,6 @@ index 989b766bc166141a391e0a7c1a5eb815e20acfac..64dc0bd1900575e40ac72a98c6df3712 + }); + } + // Paper end - filter out protected tags -+ - nbt.loadInto(entity); + nbt.loadInto(entity); + } } - } diff --git a/patches/unapplied/server/0778-Use-single-player-info-update-packet-on-join.patch b/patches/server/0776-Use-single-player-info-update-packet-on-join.patch similarity index 95% rename from patches/unapplied/server/0778-Use-single-player-info-update-packet-on-join.patch rename to patches/server/0776-Use-single-player-info-update-packet-on-join.patch index a4901625a7..d4781593fd 100644 --- a/patches/unapplied/server/0778-Use-single-player-info-update-packet-on-join.patch +++ b/patches/server/0776-Use-single-player-info-update-packet-on-join.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use single player info update packet on join diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 762382b45afbc18810787858539fba62afc3e84c..66655aecd83138760e5d7601d22b95bb1bf0ec98 100644 +index 838a9c2067503e05ade83e1b7f361880becce994..cd687e9f8a4a1c7785a98d3182639d9b03d7f168 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3487,7 +3487,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3540,7 +3540,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.signedMessageDecoder = session.createMessageDecoder(this.player.getUUID()); this.chatMessageChain.append(() -> { this.player.setChatSession(session); diff --git a/patches/unapplied/server/0779-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0777-Correctly-shrink-items-during-EntityResurrectEvent.patch similarity index 92% rename from patches/unapplied/server/0779-Correctly-shrink-items-during-EntityResurrectEvent.patch rename to patches/server/0777-Correctly-shrink-items-during-EntityResurrectEvent.patch index d2f07ac306..4f1878d015 100644 --- a/patches/unapplied/server/0779-Correctly-shrink-items-during-EntityResurrectEvent.patch +++ b/patches/server/0777-Correctly-shrink-items-during-EntityResurrectEvent.patch @@ -22,10 +22,10 @@ This patch corrects this behaviour by only shrinking the item if a totem of undying was found and the event was called uncancelled. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index cd2d6b55b494830797014dbc3cc1f0fbf6518249..633c37844062ad93c7241b78663a14a33570c30b 100644 +index b2c94edf9e1161aa97aa56f4124d96bd6a9b42ce..ff583a2c502f700b60cfe4a7fc341744d86f1c32 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1672,7 +1672,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1683,7 +1683,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.level().getCraftServer().getPluginManager().callEvent(event); if (!event.isCancelled()) { diff --git a/patches/unapplied/server/0780-Win-Screen-API.patch b/patches/server/0778-Win-Screen-API.patch similarity index 93% rename from patches/unapplied/server/0780-Win-Screen-API.patch rename to patches/server/0778-Win-Screen-API.patch index c9c5f63cdb..1b79652c2a 100644 --- a/patches/unapplied/server/0780-Win-Screen-API.patch +++ b/patches/server/0778-Win-Screen-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4e37b5c5f95607c368495b0b02a4987d9741b84d..941efccd54038c2bffbcd89cf3e5a6d1915409fe 100644 +index c00cf53b7b7b6d8b1ecd582c49fe82263920f0df..809b1ead09246281fc09d5cbdaa2ad4432e13978 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1312,6 +1312,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0781-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0779-Remove-CraftItemStack-setAmount-null-assignment.patch similarity index 100% rename from patches/unapplied/server/0781-Remove-CraftItemStack-setAmount-null-assignment.patch rename to patches/server/0779-Remove-CraftItemStack-setAmount-null-assignment.patch diff --git a/patches/unapplied/server/0782-Fix-force-opening-enchantment-tables.patch b/patches/server/0780-Fix-force-opening-enchantment-tables.patch similarity index 100% rename from patches/unapplied/server/0782-Fix-force-opening-enchantment-tables.patch rename to patches/server/0780-Fix-force-opening-enchantment-tables.patch diff --git a/patches/unapplied/server/0783-Add-Entity-Body-Yaw-API.patch b/patches/server/0781-Add-Entity-Body-Yaw-API.patch similarity index 95% rename from patches/unapplied/server/0783-Add-Entity-Body-Yaw-API.patch rename to patches/server/0781-Add-Entity-Body-Yaw-API.patch index 8c8b6b3629..94ea45be9c 100644 --- a/patches/unapplied/server/0783-Add-Entity-Body-Yaw-API.patch +++ b/patches/server/0781-Add-Entity-Body-Yaw-API.patch @@ -43,7 +43,7 @@ index ca9cda9059a5c1dae1ca9ec09248768274d4e207..e65d1ca701d835db0ed45e627c92c1c5 @Override public boolean isInvisible() { // Paper - moved up from LivingEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 2fd4a3068d86a37cc18c9203448823c53d590ffb..203e06fdff824ba67dce0e026f7ea5b746d7f258 100644 +index 8bda60a24c25d7a529f8ef1c70ea2442f76e1bfe..c0055944fc769053141e6bb3d7db80cdd20651fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1211,4 +1211,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0784-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0782-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch similarity index 78% rename from patches/unapplied/server/0784-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch rename to patches/server/0782-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch index 9c1f7e2d47..c3a7139e9a 100644 --- a/patches/unapplied/server/0784-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch +++ b/patches/server/0782-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch @@ -10,15 +10,15 @@ https://bugs.mojang.com/browse/MC-157464 https://github.com/PaperMC/Paper/issues/8569 diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java -index 1c5cec4e3dbf2daf9e06d8d7dfb30b3f7744a1f5..bb65d46967cb04f611b3c9c97d5732cfb21ede9b 100644 +index 9bc37686eb44ad295e7675daf3c00a8fbbed65b9..41f4107101bcd5d753b72cdbabe7946a1975c653 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java -@@ -38,7 +38,7 @@ public class VillagerGoalPackages { +@@ -42,7 +42,7 @@ public class VillagerGoalPackages { Pair.of(1, new MoveToTargetSink()), Pair.of(2, PoiCompetitorScan.create()), Pair.of(3, new LookAndFollowTradingPlayerSink(speed)), - Pair.of(5, GoToWantedItem.create(speed, false, 4)), + Pair.of(5, GoToWantedItem.create(villager -> !villager.isSleeping(), speed, false, 4)), // Paper - Fix MC-157464 Pair.of( - 6, AcquirePoi.create(profession.acquirableJobSite(), MemoryModuleType.JOB_SITE, MemoryModuleType.POTENTIAL_JOB_SITE, true, Optional.empty()) - ), + 6, + AcquirePoi.create( diff --git a/patches/unapplied/server/0785-Add-EntityFertilizeEggEvent.patch b/patches/server/0783-Add-EntityFertilizeEggEvent.patch similarity index 98% rename from patches/unapplied/server/0785-Add-EntityFertilizeEggEvent.patch rename to patches/server/0783-Add-EntityFertilizeEggEvent.patch index a5b9caf556..5cca5ebf89 100644 --- a/patches/unapplied/server/0785-Add-EntityFertilizeEggEvent.patch +++ b/patches/server/0783-Add-EntityFertilizeEggEvent.patch @@ -29,7 +29,7 @@ index ed7f5eb9b3b700c2f817d61ee0bf8a6952731510..9a9ecc3e2c176c6d9700c4c585250b97 } diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -index 100be2ed533450eda32d9c4eb9eb1067846d1516..36846ba6b6c7494c745ebd8b221479a9d02ff318 100644 +index b44b9f77dd8d36ac1e0245820fbc6b91974be4b2..ca04e5d829331551a2c2f44e223ff05c6ce04e76 100644 --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java @@ -270,7 +270,12 @@ public class Frog extends Animal implements VariantHolder> { diff --git a/patches/unapplied/server/0786-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0784-Fix-HumanEntity-drop-not-updating-the-client-inv.patch similarity index 100% rename from patches/unapplied/server/0786-Fix-HumanEntity-drop-not-updating-the-client-inv.patch rename to patches/server/0784-Fix-HumanEntity-drop-not-updating-the-client-inv.patch diff --git a/patches/unapplied/server/0787-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0785-Add-CompostItemEvent-and-EntityCompostItemEvent.patch similarity index 91% rename from patches/unapplied/server/0787-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to patches/server/0785-Add-CompostItemEvent-and-EntityCompostItemEvent.patch index 2e105236ee..f182b8195b 100644 --- a/patches/unapplied/server/0787-Add-CompostItemEvent-and-EntityCompostItemEvent.patch +++ b/patches/server/0785-Add-CompostItemEvent-and-EntityCompostItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add CompostItemEvent and EntityCompostItemEvent diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -index 05b2eab26e2dc8e143e9fff2dcec40cfe927a197..db837b250fc35af5b528bf973b3b07f63e79bc46 100644 +index b4937f04b4cae1ddff8d6df0f608b2f2e3fb367c..9264ba58188a7a682eeb8eb449b89ff8e60f91d6 100644 --- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -@@ -340,7 +340,21 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -342,7 +342,21 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL); float f = ComposterBlock.COMPOSTABLES.getFloat(itemstack.getItem()); @@ -31,7 +31,7 @@ index 05b2eab26e2dc8e143e9fff2dcec40cfe927a197..db837b250fc35af5b528bf973b3b07f6 return iblockdata; } else { int j = i + 1; -@@ -489,6 +503,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -491,6 +505,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { if (!itemstack.isEmpty()) { this.changed = true; BlockState iblockdata = ComposterBlock.addItem((Entity) null, this.state, this.level, this.pos, itemstack); diff --git a/patches/unapplied/server/0788-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0786-Correctly-handle-ArmorStand-invisibility.patch similarity index 100% rename from patches/unapplied/server/0788-Correctly-handle-ArmorStand-invisibility.patch rename to patches/server/0786-Correctly-handle-ArmorStand-invisibility.patch diff --git a/patches/unapplied/server/0789-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0787-Fix-advancement-triggers-for-entity-damage.patch similarity index 88% rename from patches/unapplied/server/0789-Fix-advancement-triggers-for-entity-damage.patch rename to patches/server/0787-Fix-advancement-triggers-for-entity-damage.patch index 5d63deeb0d..0d65a991f4 100644 --- a/patches/unapplied/server/0789-Fix-advancement-triggers-for-entity-damage.patch +++ b/patches/server/0787-Fix-advancement-triggers-for-entity-damage.patch @@ -10,10 +10,10 @@ Fixes a couple places where the original damage and modified damage were passed in the reverse order to the advancement triggers diff --git a/src/main/java/net/minecraft/world/entity/Interaction.java b/src/main/java/net/minecraft/world/entity/Interaction.java -index 821bb93e1b055ba38fafe3b7079d79aa062ebe8a..221d73676fe2fd240a47cf312c1179e049298cac 100644 +index 2fb95271a161a30ce6f8ce40cc75470db3d03c4a..c838dc018fad67ae0a9b602a3b477aaea137bca2 100644 --- a/src/main/java/net/minecraft/world/entity/Interaction.java +++ b/src/main/java/net/minecraft/world/entity/Interaction.java -@@ -159,7 +159,7 @@ public class Interaction extends Entity implements Attackable, Targeting { +@@ -160,7 +160,7 @@ public class Interaction extends Entity implements Attackable, Targeting { // CraftBukkit end this.attack = new Interaction.PlayerAction(entityhuman.getUUID(), this.level().getGameTime()); if (entityhuman instanceof ServerPlayer entityplayer) { @@ -23,10 +23,10 @@ index 821bb93e1b055ba38fafe3b7079d79aa062ebe8a..221d73676fe2fd240a47cf312c1179e0 return !this.getResponse(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 633c37844062ad93c7241b78663a14a33570c30b..7bce1bd9ff1d76c5a238d03475d8bcdaaca680d3 100644 +index ff583a2c502f700b60cfe4a7fc341744d86f1c32..94ade049fa74f1e9e417c891453f50b203fe9b6c 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2464,7 +2464,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2475,7 +2475,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Duplicate triggers if blocking if (event.getDamage(DamageModifier.BLOCKING) < 0) { if (this instanceof ServerPlayer) { @@ -35,7 +35,7 @@ index 633c37844062ad93c7241b78663a14a33570c30b..7bce1bd9ff1d76c5a238d03475d8bcda f2 = (float) -event.getDamage(DamageModifier.BLOCKING); if (f2 > 0.0F && f2 < 3.4028235E37F) { ((ServerPlayer) this).awardStat(Stats.DAMAGE_BLOCKED_BY_SHIELD, Math.round(originalDamage * 10.0F)); -@@ -2472,7 +2472,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2483,7 +2483,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } if (damagesource.getEntity() instanceof ServerPlayer) { diff --git a/patches/unapplied/server/0790-Fix-text-display-error-on-spawn.patch b/patches/server/0788-Fix-text-display-error-on-spawn.patch similarity index 100% rename from patches/unapplied/server/0790-Fix-text-display-error-on-spawn.patch rename to patches/server/0788-Fix-text-display-error-on-spawn.patch diff --git a/patches/unapplied/server/0791-Fix-inventories-returning-null-Locations.patch b/patches/server/0789-Fix-inventories-returning-null-Locations.patch similarity index 97% rename from patches/unapplied/server/0791-Fix-inventories-returning-null-Locations.patch rename to patches/server/0789-Fix-inventories-returning-null-Locations.patch index 1a65689fad..715c9ff910 100644 --- a/patches/unapplied/server/0791-Fix-inventories-returning-null-Locations.patch +++ b/patches/server/0789-Fix-inventories-returning-null-Locations.patch @@ -30,7 +30,7 @@ index 13a32ef8f86b678dcce83c41c78b47d9aab9f16b..b0963c534afe5be164701cb283f1849e } diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java -index 9db647cfbd3f9c884465cf3d3a1b911d46a3da58..c0dfa04511110be366ee5b0bd75efc51afcce2e4 100644 +index 5d7f4e4f420c7e0a3467b7ec3859cae2eb63870f..75f097414f436eee9f179d4d03dd64599cbaad6f 100644 --- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java +++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java @@ -52,6 +52,12 @@ public class BeaconMenu extends AbstractContainerMenu { diff --git a/patches/unapplied/server/0792-Add-Shearable-API.patch b/patches/server/0790-Add-Shearable-API.patch similarity index 100% rename from patches/unapplied/server/0792-Add-Shearable-API.patch rename to patches/server/0790-Add-Shearable-API.patch diff --git a/patches/unapplied/server/0793-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0791-Fix-SpawnEggMeta-get-setSpawnedType.patch similarity index 100% rename from patches/unapplied/server/0793-Fix-SpawnEggMeta-get-setSpawnedType.patch rename to patches/server/0791-Fix-SpawnEggMeta-get-setSpawnedType.patch diff --git a/patches/unapplied/server/0794-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0792-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch similarity index 88% rename from patches/unapplied/server/0794-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch rename to patches/server/0792-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch index 72035f8c0e..16390f90c4 100644 --- a/patches/unapplied/server/0794-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch +++ b/patches/server/0792-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix crash relating to bad recipes in furnace-like tile diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index 4d36aa195332c2ff6fa7bc5fff61ff7dc80a3fd5..b1067a3add5dc0cfa853b02b5b556d6d67e2932a 100644 +index 5b2c7b8fb780e837d9d735ac86dcac949732ec69..5fe0879efb35970e49d0654c4cb27195c6cc88a4 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -@@ -499,6 +499,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -494,6 +494,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit Entry>> entry = (Entry) objectiterator.next(); worldserver.recipeAccess().byKey(entry.getKey()).ifPresent((recipeholder) -> { // CraftBukkit - decompile error diff --git a/patches/unapplied/server/0795-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0793-Treat-sequence-violations-like-they-should-be.patch similarity index 87% rename from patches/unapplied/server/0795-Treat-sequence-violations-like-they-should-be.patch rename to patches/server/0793-Treat-sequence-violations-like-they-should-be.patch index de57dee971..9e183c7f49 100644 --- a/patches/unapplied/server/0795-Treat-sequence-violations-like-they-should-be.patch +++ b/patches/server/0793-Treat-sequence-violations-like-they-should-be.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Treat sequence violations like they should be diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 66655aecd83138760e5d7601d22b95bb1bf0ec98..2edf9a3c4ce5d2feaac624c969c2711dfc2dc4f7 100644 +index cd687e9f8a4a1c7785a98d3182639d9b03d7f168..faf085886f0ce2b49bff075b2af898699e97f4b6 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1998,6 +1998,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2058,6 +2058,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void ackBlockChangesUpTo(int sequence) { if (sequence < 0) { diff --git a/patches/unapplied/server/0796-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0794-Prevent-causing-expired-keys-from-impacting-new-join.patch similarity index 89% rename from patches/unapplied/server/0796-Prevent-causing-expired-keys-from-impacting-new-join.patch rename to patches/server/0794-Prevent-causing-expired-keys-from-impacting-new-join.patch index 0ee423dac7..0cfcf02801 100644 --- a/patches/unapplied/server/0796-Prevent-causing-expired-keys-from-impacting-new-join.patch +++ b/patches/server/0794-Prevent-causing-expired-keys-from-impacting-new-join.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent causing expired keys from impacting new joins diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java -index d0b2a8b5ded71a9a41753f4addea1c49826b34a3..29b465fc1dc50e0e84ddb889c5303e80fe662874 100644 +index ef33705588abf550e2b3d0bf795788516141b3df..6bfb83434a184e6fdba932f692281f0303ada65f 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java -@@ -114,7 +114,15 @@ public class ClientboundPlayerInfoUpdatePacket implements Packet serialized.chatSession = buf.readNullable(RemoteChatSession.Data::read), @@ -26,10 +26,10 @@ index d0b2a8b5ded71a9a41753f4addea1c49826b34a3..29b465fc1dc50e0e84ddb889c5303e80 UPDATE_GAME_MODE((serialized, buf) -> serialized.gameMode = GameType.byId(buf.readVarInt()), (buf, entry) -> buf.writeVarInt(entry.gameMode().getId())), UPDATE_LISTED((serialized, buf) -> serialized.listed = buf.readBoolean(), (buf, entry) -> buf.writeBoolean(entry.listed())), diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2edf9a3c4ce5d2feaac624c969c2711dfc2dc4f7..e653dc4ac16fd22674a6c1ba402f8913e0fbb336 100644 +index faf085886f0ce2b49bff075b2af898699e97f4b6..85f17edde8b643b5dd44710bfac077c896f9d5a4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -305,6 +305,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -307,6 +307,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private boolean receivedMovementThisTick; @Nullable private RemoteChatSession chatSession; @@ -37,7 +37,7 @@ index 2edf9a3c4ce5d2feaac624c969c2711dfc2dc4f7..e653dc4ac16fd22674a6c1ba402f8913 private SignedMessageChain.Decoder signedMessageDecoder; private final LastSeenMessagesValidator lastSeenMessages = new LastSeenMessagesValidator(20); private final MessageSignatureCache messageSignatureCache = MessageSignatureCache.createDefault(); -@@ -401,6 +402,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -403,6 +404,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.disconnect((Component) Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } @@ -51,7 +51,7 @@ index 2edf9a3c4ce5d2feaac624c969c2711dfc2dc4f7..e653dc4ac16fd22674a6c1ba402f8913 } private int getMaximumFlyingTicks(Entity vehicle) { -@@ -3485,6 +3493,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3538,6 +3546,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void resetPlayerChatState(RemoteChatSession session) { this.chatSession = session; diff --git a/patches/unapplied/server/0797-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0795-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch similarity index 86% rename from patches/unapplied/server/0797-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch rename to patches/server/0795-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch index cf13c8d853..2339341967 100644 --- a/patches/unapplied/server/0797-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch +++ b/patches/server/0795-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent GameEvents being fired from unloaded chunks diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 77c1ddc6fd14e0b033825909e5c814abd2306f8d..5ba217ff42aaa3034eeb956f19ffaacde12e52dd 100644 +index 334b21a37196f4bf1046d9506c9a491d2662adad..362e4466f443a9c1a04bda74f7c60f7df8944169 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1360,6 +1360,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1361,6 +1361,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @Override public void gameEvent(Holder event, Vec3 emitterPos, GameEvent.Context emitter) { diff --git a/patches/unapplied/server/0798-Use-array-for-gamerule-storage.patch b/patches/server/0796-Use-array-for-gamerule-storage.patch similarity index 100% rename from patches/unapplied/server/0798-Use-array-for-gamerule-storage.patch rename to patches/server/0796-Use-array-for-gamerule-storage.patch diff --git a/patches/unapplied/server/0799-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0797-Fix-a-couple-of-upstream-bed-issues.patch similarity index 95% rename from patches/unapplied/server/0799-Fix-a-couple-of-upstream-bed-issues.patch rename to patches/server/0797-Fix-a-couple-of-upstream-bed-issues.patch index 76cfa7bc0d..d47a0b12c8 100644 --- a/patches/unapplied/server/0799-Fix-a-couple-of-upstream-bed-issues.patch +++ b/patches/server/0797-Fix-a-couple-of-upstream-bed-issues.patch @@ -10,7 +10,7 @@ but then replaced it with a bed, you could respawn at the bed in that world. diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java -index b09fa473426a6c7e006a071827e5a68560d6c685..c02c4834ace843633b77fb43eeadd3ddc7b1f743 100644 +index 30db6ae29e2fe03866dfa656330f7341e0a3f9ab..be700995c3e7f63e0471712c3cd6fd83db583491 100644 --- a/src/main/java/net/minecraft/world/level/block/BedBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java @@ -109,6 +109,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock diff --git a/patches/unapplied/server/0800-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0798-Fix-demo-flag-not-enabling-demo-mode.patch similarity index 87% rename from patches/unapplied/server/0800-Fix-demo-flag-not-enabling-demo-mode.patch rename to patches/server/0798-Fix-demo-flag-not-enabling-demo-mode.patch index 1a72571965..db1ba5d6f6 100644 --- a/patches/unapplied/server/0800-Fix-demo-flag-not-enabling-demo-mode.patch +++ b/patches/server/0798-Fix-demo-flag-not-enabling-demo-mode.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix demo flag not enabling demo mode https://github.com/PaperMC/Paper/issues/9046 diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 47cd7c66ac37efebf2f63c49d78dd8fe44a70ef8..fc6ce3485dc890f5105a37fe3e344a1460867556 100644 +index 16322471d83c461098a6ada11e790b9fba7b5ea2..731bdabd53fd4a3d17494f26781223097a5d6e16 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -325,7 +325,9 @@ public class Main { +@@ -327,7 +327,9 @@ public class Main { /* dedicatedserver1.setPort((Integer) optionset.valueOf(optionspec11)); diff --git a/patches/unapplied/server/0801-Add-Mob-Experience-reward-API.patch b/patches/server/0799-Add-Mob-Experience-reward-API.patch similarity index 100% rename from patches/unapplied/server/0801-Add-Mob-Experience-reward-API.patch rename to patches/server/0799-Add-Mob-Experience-reward-API.patch diff --git a/patches/unapplied/server/0802-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0800-Break-redstone-on-top-of-trap-doors-early.patch similarity index 100% rename from patches/unapplied/server/0802-Break-redstone-on-top-of-trap-doors-early.patch rename to patches/server/0800-Break-redstone-on-top-of-trap-doors-early.patch diff --git a/patches/unapplied/server/0803-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0801-Avoid-Lazy-Initialization-for-Enum-Fields.patch similarity index 100% rename from patches/unapplied/server/0803-Avoid-Lazy-Initialization-for-Enum-Fields.patch rename to patches/server/0801-Avoid-Lazy-Initialization-for-Enum-Fields.patch diff --git a/patches/unapplied/server/0804-More-accurate-isInOpenWater-impl.patch b/patches/server/0802-More-accurate-isInOpenWater-impl.patch similarity index 100% rename from patches/unapplied/server/0804-More-accurate-isInOpenWater-impl.patch rename to patches/server/0802-More-accurate-isInOpenWater-impl.patch diff --git a/patches/unapplied/server/0805-Expand-PlayerItemMendEvent.patch b/patches/server/0803-Expand-PlayerItemMendEvent.patch similarity index 94% rename from patches/unapplied/server/0805-Expand-PlayerItemMendEvent.patch rename to patches/server/0803-Expand-PlayerItemMendEvent.patch index 9733afb76c..2bab45aff4 100644 --- a/patches/unapplied/server/0805-Expand-PlayerItemMendEvent.patch +++ b/patches/server/0803-Expand-PlayerItemMendEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expand PlayerItemMendEvent diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 3a7af27bb1ce0cbe56bd3760cd400083daf98d4c..bf0838f574fa3fb9654e087d602b8d380bd7fb28 100644 +index 42e8dc24e5cb7b02639d4b80f831b8856f0f45d5..23b47d90fd35659d9eaa661e808a7f89b29614cf 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -@@ -358,7 +358,10 @@ public class ExperienceOrb extends Entity { +@@ -360,7 +360,10 @@ public class ExperienceOrb extends Entity { int j = EnchantmentHelper.modifyDurabilityToRepairFromXp(player.serverLevel(), itemstack, amount); int k = Math.min(j, itemstack.getDamageValue()); // CraftBukkit start @@ -20,7 +20,7 @@ index 3a7af27bb1ce0cbe56bd3760cd400083daf98d4c..bf0838f574fa3fb9654e087d602b8d38 k = event.getRepairAmount(); if (event.isCancelled()) { return amount; -@@ -367,7 +370,7 @@ public class ExperienceOrb extends Entity { +@@ -369,7 +372,7 @@ public class ExperienceOrb extends Entity { itemstack.setDamageValue(itemstack.getDamageValue() - k); if (k > 0) { @@ -30,7 +30,7 @@ index 3a7af27bb1ce0cbe56bd3760cd400083daf98d4c..bf0838f574fa3fb9654e087d602b8d38 if (l > 0) { // this.value = l; // CraftBukkit - update exp value of orb for PlayerItemMendEvent calls // Paper - the value field should not be mutated here because it doesn't take "count" into account diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 941efccd54038c2bffbcd89cf3e5a6d1915409fe..ad3eaf3a5cb751051f2c9ca1464166a3e12950f6 100644 +index 809b1ead09246281fc09d5cbdaa2ad4432e13978..0dda38dcd777243779e74a34f171d0d3753025bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1865,11 +1865,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0806-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0804-Refresh-ProjectileSource-for-projectiles.patch similarity index 95% rename from patches/unapplied/server/0806-Refresh-ProjectileSource-for-projectiles.patch rename to patches/server/0804-Refresh-ProjectileSource-for-projectiles.patch index 0041557448..af3a59f5ba 100644 --- a/patches/unapplied/server/0806-Refresh-ProjectileSource-for-projectiles.patch +++ b/patches/server/0804-Refresh-ProjectileSource-for-projectiles.patch @@ -14,7 +14,7 @@ clearing the owner. Co-authored-by: Warrior <50800980+Warriorrrr@users.noreply.github.com> diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 61bd5290d0056656ab761ecf38cf8c8bbb80ab94..12f7ac6ecc8284fe4da83e09081a6e1c08f1b4de 100644 +index bea167afbdd3a2f54b00c3abdb840014313fd239..7fb2bfa378169fac65c4d889c8174fb5ed945c55 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -394,6 +394,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -26,7 +26,7 @@ index 61bd5290d0056656ab761ecf38cf8c8bbb80ab94..12f7ac6ecc8284fe4da83e09081a6e1c public boolean lastDamageCancelled; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled public boolean persistentInvisibility = false; diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index bf7f81d99af300e89834981eab32568a3747d270..52d539d54113c4dcd2d8d748ae0abf6dec5bfc72 100644 +index 92bf8a3bac1146ed2393faa0f31e219288b466ca..c1b39e6fda0b2003e5e28ef94d13546497cbb79f 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java @@ -63,17 +63,35 @@ public abstract class Projectile extends Entity implements TraceableEntity { diff --git a/patches/unapplied/server/0807-Add-transient-modifier-API.patch b/patches/server/0805-Add-transient-modifier-API.patch similarity index 100% rename from patches/unapplied/server/0807-Add-transient-modifier-API.patch rename to patches/server/0805-Add-transient-modifier-API.patch diff --git a/patches/unapplied/server/0808-Fix-block-place-logic.patch b/patches/server/0806-Fix-block-place-logic.patch similarity index 92% rename from patches/unapplied/server/0808-Fix-block-place-logic.patch rename to patches/server/0806-Fix-block-place-logic.patch index 4f22f03cab..09a934ba3e 100644 --- a/patches/unapplied/server/0808-Fix-block-place-logic.patch +++ b/patches/server/0806-Fix-block-place-logic.patch @@ -9,7 +9,7 @@ Fix several issues when a player interact with a block: * poi can desync when the BlockPhysicsEvent is cancelled diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java -index 44cc12a3338b5f0448c88192c8674cd36531db34..d59120f0304823361cc4112f5583323945df4229 100644 +index cdd41eb371b1dd244a72c863cc5c8c4e84a9a71a..560932675223ea3ff75b6bf42b47ea5882ff953a 100644 --- a/src/main/java/net/minecraft/world/item/BlockItem.java +++ b/src/main/java/net/minecraft/world/item/BlockItem.java @@ -122,7 +122,7 @@ public class BlockItem extends Item { @@ -22,10 +22,10 @@ index 44cc12a3338b5f0448c88192c8674cd36531db34..d59120f0304823361cc4112f55833239 itemstack.consume(1, entityhuman); return InteractionResult.SUCCESS; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index f0c2187a92de633a1d4cc7e71ff62cbe30ce8774..18c011c1943867dbc4abee338b03b9be499876dd 100644 +index 447e4c77b5cd90e744e014b66af5f0a9ebe9c2d8..c6133407f515f53c9fa67b988d4758d8f3d89f23 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -550,17 +550,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -551,17 +551,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // CraftBukkit start iblockdata1.updateIndirectNeighbourShapes(this, blockposition, k, j - 1); // Don't call an event for the old block to limit event spam CraftWorld world = ((ServerLevel) this).getWorld(); diff --git a/patches/unapplied/server/0809-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0807-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch similarity index 90% rename from patches/unapplied/server/0809-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch rename to patches/server/0807-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch index 69e6a10e57..41d0f0984e 100644 --- a/patches/unapplied/server/0809-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch +++ b/patches/server/0807-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix spigot sound playing for BlockItem ItemStacks diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 90a55f00c36903d52630c51bf69322973a2b5274..1b7d797dac1ff7ee945cf4ef8c6861475a31903d 100644 +index 63872104e7302dbbc9c482a4ed8a9a34710e1eb4..18c4396219b4777e6d728a4d49727d0266709ccd 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -577,7 +577,11 @@ public final class ItemStack implements DataComponentHolder { +@@ -582,7 +582,11 @@ public final class ItemStack implements DataComponentHolder { // SPIGOT-1288 - play sound stripped from ItemBlock if (this.item instanceof BlockItem) { diff --git a/patches/unapplied/server/0810-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0808-Call-BlockGrowEvent-for-missing-blocks.patch similarity index 100% rename from patches/unapplied/server/0810-Call-BlockGrowEvent-for-missing-blocks.patch rename to patches/server/0808-Call-BlockGrowEvent-for-missing-blocks.patch diff --git a/patches/unapplied/server/0811-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0809-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch similarity index 100% rename from patches/unapplied/server/0811-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch rename to patches/server/0809-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch diff --git a/patches/unapplied/server/0812-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0810-fix-MapLike-spam-for-missing-key-selector.patch similarity index 100% rename from patches/unapplied/server/0812-fix-MapLike-spam-for-missing-key-selector.patch rename to patches/server/0810-fix-MapLike-spam-for-missing-key-selector.patch diff --git a/patches/unapplied/server/0813-Fix-sniffer-removeExploredLocation.patch b/patches/server/0811-Fix-sniffer-removeExploredLocation.patch similarity index 100% rename from patches/unapplied/server/0813-Fix-sniffer-removeExploredLocation.patch rename to patches/server/0811-Fix-sniffer-removeExploredLocation.patch diff --git a/patches/unapplied/server/0814-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0812-Add-method-to-remove-all-active-potion-effects.patch similarity index 91% rename from patches/unapplied/server/0814-Add-method-to-remove-all-active-potion-effects.patch rename to patches/server/0812-Add-method-to-remove-all-active-potion-effects.patch index e730bcf1d4..3b68adf163 100644 --- a/patches/unapplied/server/0814-Add-method-to-remove-all-active-potion-effects.patch +++ b/patches/server/0812-Add-method-to-remove-all-active-potion-effects.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add method to remove all active potion effects diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 203e06fdff824ba67dce0e026f7ea5b746d7f258..a62d17b72c675120b447e625cb3dc437681bdf20 100644 +index c0055944fc769053141e6bb3d7db80cdd20651fd..c8422ceecc7ba3cb2e28616949790bf44cef7213 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -573,6 +573,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0815-Add-event-for-player-editing-sign.patch b/patches/server/0813-Add-event-for-player-editing-sign.patch similarity index 97% rename from patches/unapplied/server/0815-Add-event-for-player-editing-sign.patch rename to patches/server/0813-Add-event-for-player-editing-sign.patch index 5029597839..9affd7f9eb 100644 --- a/patches/unapplied/server/0815-Add-event-for-player-editing-sign.patch +++ b/patches/server/0813-Add-event-for-player-editing-sign.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add event for player editing sign diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 1b7d797dac1ff7ee945cf4ef8c6861475a31903d..f81b3e050f21ce10ea86892d9a6bee9a42561514 100644 +index 18c4396219b4777e6d728a4d49727d0266709ccd..938e21425bf33a98f727d428216067ee0631c4bf 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -556,7 +556,7 @@ public final class ItemStack implements DataComponentHolder { +@@ -561,7 +561,7 @@ public final class ItemStack implements DataComponentHolder { try { if (world.getBlockEntity(SignItem.openSign) instanceof SignBlockEntity tileentitysign) { if (world.getBlockState(SignItem.openSign).getBlock() instanceof SignBlock blocksign) { diff --git a/patches/unapplied/server/0816-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0814-Only-tick-item-frames-if-players-can-see-it.patch similarity index 92% rename from patches/unapplied/server/0816-Only-tick-item-frames-if-players-can-see-it.patch rename to patches/server/0814-Only-tick-item-frames-if-players-can-see-it.patch index c7c6cd499f..79607ddfe1 100644 --- a/patches/unapplied/server/0816-Only-tick-item-frames-if-players-can-see-it.patch +++ b/patches/server/0814-Only-tick-item-frames-if-players-can-see-it.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Only tick item frames if players can see it In the event that an item frame cannot be seen by any players, ticking the item frame every tick is unnecessary. This can be a very hot section of the entity tracker when lots of item frames are present on a server, so this reduces the logic which speeds it up. diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index bc0f1aa61e68d2a8638d89c10bc5c71922d057f9..3cdcc4f44608d24550f2a8c6f3f5ce675d7777c5 100644 +index 78d3aa089d990190cdf5cd7ac14410909235f133..436eb27ddc6a36b8bbf46efd9532c4e371024a98 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -116,7 +116,7 @@ public class ServerEntity { diff --git a/patches/unapplied/server/0817-Fix-cmd-permission-levels-for-command-blocks.patch b/patches/server/0815-Fix-cmd-permission-levels-for-command-blocks.patch similarity index 96% rename from patches/unapplied/server/0817-Fix-cmd-permission-levels-for-command-blocks.patch rename to patches/server/0815-Fix-cmd-permission-levels-for-command-blocks.patch index ea3dfd5584..ef8302664b 100644 --- a/patches/unapplied/server/0817-Fix-cmd-permission-levels-for-command-blocks.patch +++ b/patches/server/0815-Fix-cmd-permission-levels-for-command-blocks.patch @@ -63,10 +63,10 @@ index 977f9ac300490562d9894af4a42621b594f0a8e0..cfa328f06c1b972c8328ff40580b485c // Handle vanilla commands; if (sender.getLevel().getCraftServer().getCommandBlockOverride(args[0])) { diff --git a/src/main/java/net/minecraft/world/entity/vehicle/MinecartCommandBlock.java b/src/main/java/net/minecraft/world/entity/vehicle/MinecartCommandBlock.java -index d7321275cf963ba4fd838226c7f705ea0f2e1ac6..56bae8ea1e7b115e85a701209f3badbd29912b28 100644 +index 8e741e7c3ed5a181b0999650a94dbf86b10a75ca..a811cdca34bb468ac355f72decd153d4f0618009 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/MinecartCommandBlock.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/MinecartCommandBlock.java -@@ -133,7 +133,7 @@ public class MinecartCommandBlock extends AbstractMinecart { +@@ -128,7 +128,7 @@ public class MinecartCommandBlock extends AbstractMinecart { @Override public CommandSourceStack createCommandSourceStack() { @@ -76,7 +76,7 @@ index d7321275cf963ba4fd838226c7f705ea0f2e1ac6..56bae8ea1e7b115e85a701209f3badbd @Override diff --git a/src/main/java/net/minecraft/world/level/block/entity/CommandBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/CommandBlockEntity.java -index faa0a3248217fb27dae5b918099f8a63eee6f586..a02c5feb8f2ffe6bb6070650a45762476e1ff9ac 100644 +index 126c16808336fbef82c681b822a921a62ce46e7c..e2123f1c5852a34fb92e900f25591284625f3494 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/CommandBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/CommandBlockEntity.java @@ -58,7 +58,7 @@ public class CommandBlockEntity extends BlockEntity { diff --git a/patches/unapplied/server/0818-Add-option-to-disable-block-updates.patch b/patches/server/0816-Add-option-to-disable-block-updates.patch similarity index 100% rename from patches/unapplied/server/0818-Add-option-to-disable-block-updates.patch rename to patches/server/0816-Add-option-to-disable-block-updates.patch diff --git a/patches/unapplied/server/0819-Call-missing-BlockDispenseEvent.patch b/patches/server/0817-Call-missing-BlockDispenseEvent.patch similarity index 98% rename from patches/unapplied/server/0819-Call-missing-BlockDispenseEvent.patch rename to patches/server/0817-Call-missing-BlockDispenseEvent.patch index 174a0ab4b6..b0cd223356 100644 --- a/patches/unapplied/server/0819-Call-missing-BlockDispenseEvent.patch +++ b/patches/server/0817-Call-missing-BlockDispenseEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Call missing BlockDispenseEvent diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 5793569ae8a088f21b0d8d6771a5099b1e88be09..f8f570a97789ab16e57774f233506a289277d5d9 100644 +index 780f83d50aac70c819608f4c79c08ef34664d7b0..8322b54451a6203a8969fdc96ed63bbcc0dd2f5a 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -768,6 +768,13 @@ public interface DispenseItemBehavior { diff --git a/patches/unapplied/server/0820-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0818-Don-t-load-chunks-for-supporting-block-checks.patch similarity index 84% rename from patches/unapplied/server/0820-Don-t-load-chunks-for-supporting-block-checks.patch rename to patches/server/0818-Don-t-load-chunks-for-supporting-block-checks.patch index 7440fc0c49..6981c53f68 100644 --- a/patches/unapplied/server/0820-Don-t-load-chunks-for-supporting-block-checks.patch +++ b/patches/server/0818-Don-t-load-chunks-for-supporting-block-checks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't load chunks for supporting block checks diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 12f7ac6ecc8284fe4da83e09081a6e1c08f1b4de..4cced854e750ea9057b4a8d686245925e5dc2868 100644 +index 7fb2bfa378169fac65c4d889c8174fb5ed945c55..e11893db9dbe2731e6e15860d51a485b0422094d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1229,7 +1229,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1242,7 +1242,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } protected BlockPos getOnPos(float offset) { diff --git a/patches/unapplied/server/0821-Optimize-player-lookups-for-beacons.patch b/patches/server/0819-Optimize-player-lookups-for-beacons.patch similarity index 100% rename from patches/unapplied/server/0821-Optimize-player-lookups-for-beacons.patch rename to patches/server/0819-Optimize-player-lookups-for-beacons.patch diff --git a/patches/unapplied/server/0822-More-Sign-Block-API.patch b/patches/server/0820-More-Sign-Block-API.patch similarity index 96% rename from patches/unapplied/server/0822-More-Sign-Block-API.patch rename to patches/server/0820-More-Sign-Block-API.patch index 70558b0010..41c9eb5851 100644 --- a/patches/unapplied/server/0822-More-Sign-Block-API.patch +++ b/patches/server/0820-More-Sign-Block-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] More Sign Block API Co-authored-by: SoSeDiK diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -index a34c2fc6ac1418a89d789b8945ca3dad57f64151..8ac19e1e052e73ff3fd09089bb8e3fd687390ee4 100644 +index 86550d200922ee313019a21fe593c594c967f28b..7a1d9a718dc57b5f630ca8e5358120cebaeefb9c 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java @@ -68,12 +68,17 @@ public class SignBlockEntity extends BlockEntity { diff --git a/patches/unapplied/server/0823-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0821-fix-item-meta-for-tadpole-buckets.patch similarity index 100% rename from patches/unapplied/server/0823-fix-item-meta-for-tadpole-buckets.patch rename to patches/server/0821-fix-item-meta-for-tadpole-buckets.patch diff --git a/patches/unapplied/server/0824-Fix-BanList-API.patch b/patches/server/0822-Fix-BanList-API.patch similarity index 99% rename from patches/unapplied/server/0824-Fix-BanList-API.patch rename to patches/server/0822-Fix-BanList-API.patch index 3793414ced..7cf35da66c 100644 --- a/patches/unapplied/server/0824-Fix-BanList-API.patch +++ b/patches/server/0822-Fix-BanList-API.patch @@ -208,7 +208,7 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ad3eaf3a5cb751051f2c9ca1464166a3e12950f6..f4401ae5d4f9ceb963b582db63d65524f9a653fb 100644 +index 0dda38dcd777243779e74a34f171d0d3753025bb..d47b44adb0989c5540343d8f71095e73d49c8190 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1759,23 +1759,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0825-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0823-Determine-lava-and-water-fluid-explosion-resistance-.patch similarity index 100% rename from patches/unapplied/server/0825-Determine-lava-and-water-fluid-explosion-resistance-.patch rename to patches/server/0823-Determine-lava-and-water-fluid-explosion-resistance-.patch diff --git a/patches/unapplied/server/0826-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0824-Fix-possible-NPE-on-painting-creation.patch similarity index 92% rename from patches/unapplied/server/0826-Fix-possible-NPE-on-painting-creation.patch rename to patches/server/0824-Fix-possible-NPE-on-painting-creation.patch index cc63dc03cf..814434abed 100644 --- a/patches/unapplied/server/0826-Fix-possible-NPE-on-painting-creation.patch +++ b/patches/server/0824-Fix-possible-NPE-on-painting-creation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix possible NPE on painting creation diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java -index 0b9c4f9b61651660e821735f18b4f3cc7cfd164c..e31aa2a499e894847f19800b6bceb17aba38a1c0 100644 +index 2a32f2aa3cb7395900cf2d06cc2dcd4ddacd4145..007d870b3f1dbf0ffa3a2d9af3c49d3f3eea54d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java -@@ -361,8 +361,13 @@ public final class CraftEntityTypes { +@@ -359,8 +359,13 @@ public final class CraftEntityTypes { // Hanging register(new EntityTypeData<>(EntityType.PAINTING, Painting.class, CraftPainting::new, createHanging(Painting.class, (spawnData, hangingData) -> { if (spawnData.normalWorld && hangingData.randomize()) { @@ -24,7 +24,7 @@ index 0b9c4f9b61651660e821735f18b4f3cc7cfd164c..e31aa2a499e894847f19800b6bceb17a net.minecraft.world.entity.decoration.Painting entity = new net.minecraft.world.entity.decoration.Painting(net.minecraft.world.entity.EntityType.PAINTING, spawnData.minecraftWorld()); entity.absMoveTo(spawnData.x(), spawnData.y(), spawnData.z(), spawnData.yaw(), spawnData.pitch()); entity.setDirection(hangingData.direction()); -@@ -529,6 +534,7 @@ public final class CraftEntityTypes { +@@ -527,6 +532,7 @@ public final class CraftEntityTypes { AABB bb = (ItemFrame.class.isAssignableFrom(clazz)) ? net.minecraft.world.entity.decoration.ItemFrame.calculateBoundingBoxStatic(pos, CraftBlock.blockFaceToNotch(dir).getOpposite()) : net.minecraft.world.entity.decoration.Painting.calculateBoundingBoxStatic(pos, CraftBlock.blockFaceToNotch(dir).getOpposite(), width, height); diff --git a/patches/unapplied/server/0827-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0825-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch similarity index 100% rename from patches/unapplied/server/0827-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch rename to patches/server/0825-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch diff --git a/patches/unapplied/server/0828-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0826-ExperienceOrb-should-call-EntitySpawnEvent.patch similarity index 100% rename from patches/unapplied/server/0828-ExperienceOrb-should-call-EntitySpawnEvent.patch rename to patches/server/0826-ExperienceOrb-should-call-EntitySpawnEvent.patch diff --git a/patches/unapplied/server/0829-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0827-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch similarity index 100% rename from patches/unapplied/server/0829-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch rename to patches/server/0827-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch diff --git a/patches/unapplied/server/0830-Add-whitelist-events.patch b/patches/server/0828-Add-whitelist-events.patch similarity index 100% rename from patches/unapplied/server/0830-Add-whitelist-events.patch rename to patches/server/0828-Add-whitelist-events.patch diff --git a/patches/unapplied/server/0831-Implement-PlayerFailMoveEvent.patch b/patches/server/0829-Implement-PlayerFailMoveEvent.patch similarity index 95% rename from patches/unapplied/server/0831-Implement-PlayerFailMoveEvent.patch rename to patches/server/0829-Implement-PlayerFailMoveEvent.patch index ad4b642a19..0250606ca3 100644 --- a/patches/unapplied/server/0831-Implement-PlayerFailMoveEvent.patch +++ b/patches/server/0829-Implement-PlayerFailMoveEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerFailMoveEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e653dc4ac16fd22674a6c1ba402f8913e0fbb336..2de655df951199c74758578c7f00fa053851b55e 100644 +index 85f17edde8b643b5dd44710bfac077c896f9d5a4..1d6aafc8beef5e4fc25b036ec4d8e4687cd399dc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1271,8 +1271,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1325,8 +1325,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl double d0 = ServerGamePacketListenerImpl.clampHorizontal(packet.getX(this.player.getX())); final double toX = d0; // Paper - OBFHELPER double d1 = ServerGamePacketListenerImpl.clampVertical(packet.getY(this.player.getY())); final double toY = d1; // Paper - OBFHELPER double d2 = ServerGamePacketListenerImpl.clampHorizontal(packet.getZ(this.player.getZ())); final double toZ = d2; // Paper - OBFHELPER @@ -19,7 +19,7 @@ index e653dc4ac16fd22674a6c1ba402f8913e0fbb336..2de655df951199c74758578c7f00fa05 if (this.player.isPassenger()) { this.player.absMoveTo(this.player.getX(), this.player.getY(), this.player.getZ(), f, f1); -@@ -1339,8 +1339,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1393,8 +1393,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // Paper start - Prevent moving into unloaded chunks if (this.player.level().paperConfig().chunks.preventMovingIntoUnloadedChunks && (this.player.getX() != toX || this.player.getZ() != toZ) && !worldserver.areChunksLoadedForMove(this.player.getBoundingBox().expandTowards(new Vec3(toX, toY, toZ).subtract(this.player.position())))) { @@ -36,7 +36,7 @@ index e653dc4ac16fd22674a6c1ba402f8913e0fbb336..2de655df951199c74758578c7f00fa05 } // Paper end - Prevent moving into unloaded chunks -@@ -1349,9 +1355,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1403,9 +1409,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (d10 - d9 > Math.max(f2, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2))) { // CraftBukkit end @@ -56,7 +56,7 @@ index e653dc4ac16fd22674a6c1ba402f8913e0fbb336..2de655df951199c74758578c7f00fa05 } } } -@@ -1413,14 +1426,31 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1467,14 +1480,31 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl d8 = d2 - this.player.getZ(); d10 = d6 * d6 + d7 * d7 + d8 * d8; @@ -91,7 +91,7 @@ index e653dc4ac16fd22674a6c1ba402f8913e0fbb336..2de655df951199c74758578c7f00fa05 this.internalTeleport(d3, d4, d5, f, f1); // CraftBukkit - SPIGOT-1807: Don't call teleport event, when the client thinks the player is falling, because the chunks are not loaded on the client yet. this.player.doCheckFallDamage(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5, packet.isOnGround()); } else { -@@ -3535,4 +3565,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3588,4 +3618,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl InteractionResult run(ServerPlayer player, Entity entity, InteractionHand hand); } diff --git a/patches/unapplied/server/0832-Folia-scheduler-and-owned-region-API.patch b/patches/server/0830-Folia-scheduler-and-owned-region-API.patch similarity index 99% rename from patches/unapplied/server/0832-Folia-scheduler-and-owned-region-API.patch rename to patches/server/0830-Folia-scheduler-and-owned-region-API.patch index ee5c8a3e88..51c039105e 100644 --- a/patches/unapplied/server/0832-Folia-scheduler-and-owned-region-API.patch +++ b/patches/server/0830-Folia-scheduler-and-owned-region-API.patch @@ -1148,7 +1148,7 @@ index 0000000000000000000000000000000000000000..d306f911757a4d556c82c0070d4837db + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3cc43a697ccccac582b72b65bdf6ba08156a0d30..84f1a1a5ffc04823f7e83bc352c0f66a0207e771 100644 +index 0c44f59445e9cd5d2767cbabe874e137b2420a2d..4555f7f59d15a1f84c0cf76f77a6685fadd48f8c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1624,6 +1624,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop, EntityTypeData> CLASS_TYPE_DATA = new HashMap<>(); private static final Map> ENTITY_TYPE_DATA = new HashMap<>(); -@@ -415,10 +416,10 @@ public final class CraftEntityTypes { +@@ -413,10 +414,10 @@ public final class CraftEntityTypes { // Set pos register(new EntityTypeData<>(EntityType.MARKER, Marker.class, CraftMarker::new, createAndSetPos(net.minecraft.world.entity.EntityType.MARKER))); diff --git a/patches/unapplied/server/0835-Only-capture-actual-tree-growth.patch b/patches/server/0833-Only-capture-actual-tree-growth.patch similarity index 92% rename from patches/unapplied/server/0835-Only-capture-actual-tree-growth.patch rename to patches/server/0833-Only-capture-actual-tree-growth.patch index 13fcd8afc3..c423748d1e 100644 --- a/patches/unapplied/server/0835-Only-capture-actual-tree-growth.patch +++ b/patches/server/0833-Only-capture-actual-tree-growth.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Only capture actual tree growth diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index f8f570a97789ab16e57774f233506a289277d5d9..18304349c9ab24657c4152aff800dba969174665 100644 +index 8322b54451a6203a8969fdc96ed63bbcc0dd2f5a..5414f05a7a2d9858785d68446f03f2b854799687 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -550,6 +550,7 @@ public interface DispenseItemBehavior { @@ -17,10 +17,10 @@ index f8f570a97789ab16e57774f233506a289277d5d9..18304349c9ab24657c4152aff800dba9 } } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 5ba217ff42aaa3034eeb956f19ffaacde12e52dd..5770fa7a798c1c019bef27426f945f3cc0387a36 100644 +index 362e4466f443a9c1a04bda74f7c60f7df8944169..48b93220fb7429cc4ce498cf9b862b8e6bee70d4 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2203,6 +2203,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2209,6 +2209,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe return range <= 0 ? 64.0 * 64.0 : range * range; // 64 is taken from default in ServerLevel#levelEvent } // Paper end - respect global sound events gamerule @@ -38,10 +38,10 @@ index 5ba217ff42aaa3034eeb956f19ffaacde12e52dd..5770fa7a798c1c019bef27426f945f3c @Override public CrashReportCategory fillReportDetails(CrashReport report) { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index f81b3e050f21ce10ea86892d9a6bee9a42561514..cb6bcf8b61793882252827309ffa99526244e445 100644 +index 938e21425bf33a98f727d428216067ee0631c4bf..30ba2750e884ceff89e87e2155f18ea66a05ee36 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -469,6 +469,7 @@ public final class ItemStack implements DataComponentHolder { +@@ -474,6 +474,7 @@ public final class ItemStack implements DataComponentHolder { for (CraftBlockState blockstate : blocks) { // SPIGOT-7572 - Move fix for SPIGOT-7248 to CapturedBlockState, to allow bees in bee nest CapturedBlockState.setBlockState(blockstate); diff --git a/patches/unapplied/server/0836-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0834-Use-correct-source-for-mushroom-block-spread-event.patch similarity index 100% rename from patches/unapplied/server/0836-Use-correct-source-for-mushroom-block-spread-event.patch rename to patches/server/0834-Use-correct-source-for-mushroom-block-spread-event.patch diff --git a/patches/unapplied/server/0837-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0835-Respect-randomizeData-on-more-entities-when-spawning.patch similarity index 95% rename from patches/unapplied/server/0837-Respect-randomizeData-on-more-entities-when-spawning.patch rename to patches/server/0835-Respect-randomizeData-on-more-entities-when-spawning.patch index adf37e5cf2..eb12d81d79 100644 --- a/patches/unapplied/server/0837-Respect-randomizeData-on-more-entities-when-spawning.patch +++ b/patches/server/0835-Respect-randomizeData-on-more-entities-when-spawning.patch @@ -9,10 +9,10 @@ Subject: [PATCH] Respect randomizeData on more entities when spawning * ExperienceOrb diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java -index 85b9224e9e999487abff15a008c7e37aae9b488b..829d44c718bddf813d71a08097bc0fa1f5825476 100644 +index 7331a8e22aa80534b60bbbedd9b9c3f4455e0de7..f423bcee46506eccbaf61090adb886a31714c04d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java -@@ -255,6 +255,13 @@ public final class CraftEntityTypes { +@@ -254,6 +254,13 @@ public final class CraftEntityTypes { entity.assignDirectionalMovement(new Vec3(direction.getX(), direction.getY(), direction.getZ()), 1.0); }; private static final BiConsumer ROT = (spawnData, entity) -> entity.setRot(spawnData.yaw(), spawnData.pitch()); // Paper @@ -26,7 +26,7 @@ index 85b9224e9e999487abff15a008c7e37aae9b488b..829d44c718bddf813d71a08097bc0fa1 private static final Map, EntityTypeData> CLASS_TYPE_DATA = new HashMap<>(); private static final Map> ENTITY_TYPE_DATA = new HashMap<>(); -@@ -428,11 +435,12 @@ public final class CraftEntityTypes { +@@ -426,11 +433,12 @@ public final class CraftEntityTypes { net.minecraft.world.item.ItemStack itemStack = new net.minecraft.world.item.ItemStack(Items.STONE); ItemEntity item = new ItemEntity(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), itemStack); item.setPickUpDelay(10); @@ -40,7 +40,7 @@ index 85b9224e9e999487abff15a008c7e37aae9b488b..829d44c718bddf813d71a08097bc0fa1 )); register(new EntityTypeData<>(EntityType.AREA_EFFECT_CLOUD, AreaEffectCloud.class, CraftAreaEffectCloud::new, createAndMove(net.minecraft.world.entity.EntityType.AREA_EFFECT_CLOUD))); // Paper - set area effect cloud rotation register(new EntityTypeData<>(EntityType.EGG, Egg.class, CraftEgg::new, spawnData -> new ThrownEgg(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), new net.minecraft.world.item.ItemStack(Items.EGG)))); -@@ -443,12 +451,23 @@ public final class CraftEntityTypes { +@@ -441,12 +449,23 @@ public final class CraftEntityTypes { net.minecraft.world.entity.projectile.ThrownPotion entity = new net.minecraft.world.entity.projectile.ThrownPotion(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), new net.minecraft.world.item.ItemStack(Items.SPLASH_POTION)); return entity; })); diff --git a/patches/unapplied/server/0838-Use-correct-seed-on-api-world-load.patch b/patches/server/0836-Use-correct-seed-on-api-world-load.patch similarity index 100% rename from patches/unapplied/server/0838-Use-correct-seed-on-api-world-load.patch rename to patches/server/0836-Use-correct-seed-on-api-world-load.patch diff --git a/patches/unapplied/server/0839-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0837-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch similarity index 100% rename from patches/unapplied/server/0839-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch rename to patches/server/0837-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch diff --git a/patches/unapplied/server/0840-Cache-map-ids-on-item-frames.patch b/patches/server/0838-Cache-map-ids-on-item-frames.patch similarity index 96% rename from patches/unapplied/server/0840-Cache-map-ids-on-item-frames.patch rename to patches/server/0838-Cache-map-ids-on-item-frames.patch index 01fb83165d..368e04a7a0 100644 --- a/patches/unapplied/server/0840-Cache-map-ids-on-item-frames.patch +++ b/patches/server/0838-Cache-map-ids-on-item-frames.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache map ids on item frames diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 3cdcc4f44608d24550f2a8c6f3f5ce675d7777c5..7118e1f806af98159ec292f9340d7e4004e2b486 100644 +index 436eb27ddc6a36b8bbf46efd9532c4e371024a98..12d5af9dc6e5d5ed4ea427384226dc5d022550ba 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -121,7 +121,7 @@ public class ServerEntity { diff --git a/patches/unapplied/server/0841-API-for-updating-recipes-on-clients.patch b/patches/server/0839-API-for-updating-recipes-on-clients.patch similarity index 100% rename from patches/unapplied/server/0841-API-for-updating-recipes-on-clients.patch rename to patches/server/0839-API-for-updating-recipes-on-clients.patch diff --git a/patches/unapplied/server/0842-Fix-custom-statistic-criteria-creation.patch b/patches/server/0840-Fix-custom-statistic-criteria-creation.patch similarity index 92% rename from patches/unapplied/server/0842-Fix-custom-statistic-criteria-creation.patch rename to patches/server/0840-Fix-custom-statistic-criteria-creation.patch index ff197a490c..b601922015 100644 --- a/patches/unapplied/server/0842-Fix-custom-statistic-criteria-creation.patch +++ b/patches/server/0840-Fix-custom-statistic-criteria-creation.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix custom statistic criteria creation diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d4d5d40ba3bcf715e52aeb72ec4d14718c793e7c..939bc76ca46081d51a6cb18ac39cd05d3ce58ac8 100644 +index 088ff124ca82e69e59e02e6604959e399e4aff03..cd00165ebb193c788e05a6f0b2b649936d56aa9f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -608,6 +608,12 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0843-Bandaid-fix-for-Effect.patch b/patches/server/0841-Bandaid-fix-for-Effect.patch similarity index 97% rename from patches/unapplied/server/0843-Bandaid-fix-for-Effect.patch rename to patches/server/0841-Bandaid-fix-for-Effect.patch index b8a1381bfb..38971ab5b3 100644 --- a/patches/unapplied/server/0843-Bandaid-fix-for-Effect.patch +++ b/patches/server/0841-Bandaid-fix-for-Effect.patch @@ -68,7 +68,7 @@ index 71733f918ed84b9879ac1b142ef6205c5e768a9c..c856384019eff2f2d0bb831ebe1ccb0f break; case BONE_MEAL_USE: diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b0e57ca463a3c7cb1be8920a899c9afc7c871f4b..f85f94ddf55034b8e160f0be7ba847f0ad785a04 100644 +index 5379931b2403566f54e4ecf0699229d636d2d38f..231089eab86f5d3e33ddb6d5cb8358d5d5d5eaf4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1363,7 +1363,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -81,7 +81,7 @@ index b0e57ca463a3c7cb1be8920a899c9afc7c871f4b..f85f94ddf55034b8e160f0be7ba847f0 // Special case: the axis is optional for ELECTRIC_SPARK Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f4401ae5d4f9ceb963b582db63d65524f9a653fb..3c9aff1848d902a566e0dc252a88528ea471c72e 100644 +index d47b44adb0989c5540343d8f71095e73d49c8190..1f188f80e4c8831ea4b585f7a4bf01009a480353 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -924,7 +924,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0844-SculkCatalyst-bloom-API.patch b/patches/server/0842-SculkCatalyst-bloom-API.patch similarity index 100% rename from patches/unapplied/server/0844-SculkCatalyst-bloom-API.patch rename to patches/server/0842-SculkCatalyst-bloom-API.patch diff --git a/patches/unapplied/server/0845-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0843-API-for-an-entity-s-scoreboard-name.patch similarity index 100% rename from patches/unapplied/server/0845-API-for-an-entity-s-scoreboard-name.patch rename to patches/server/0843-API-for-an-entity-s-scoreboard-name.patch diff --git a/patches/unapplied/server/0846-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0844-Deprecate-and-replace-methods-with-old-StructureType.patch similarity index 100% rename from patches/unapplied/server/0846-Deprecate-and-replace-methods-with-old-StructureType.patch rename to patches/server/0844-Deprecate-and-replace-methods-with-old-StructureType.patch diff --git a/patches/unapplied/server/0847-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0845-Don-t-tab-complete-namespaced-commands-if-send-names.patch similarity index 92% rename from patches/unapplied/server/0847-Don-t-tab-complete-namespaced-commands-if-send-names.patch rename to patches/server/0845-Don-t-tab-complete-namespaced-commands-if-send-names.patch index 3098f18301..07ac7440ad 100644 --- a/patches/unapplied/server/0847-Don-t-tab-complete-namespaced-commands-if-send-names.patch +++ b/patches/server/0845-Don-t-tab-complete-namespaced-commands-if-send-names.patch @@ -11,10 +11,10 @@ This patch prevents server from sending namespaced commands when player requests tab-complete only commands. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2de655df951199c74758578c7f00fa053851b55e..c3a53db9f611f160bd4b8662498f5ac0e988c5d1 100644 +index 1d6aafc8beef5e4fc25b036ec4d8e4687cd399dc..e287f2ca9a4614e030015a13460fea00aa0cd4f5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -832,6 +832,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -830,6 +830,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { diff --git a/patches/unapplied/server/0848-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0846-Properly-handle-BlockBreakEvent-isDropItems.patch similarity index 98% rename from patches/unapplied/server/0848-Properly-handle-BlockBreakEvent-isDropItems.patch rename to patches/server/0846-Properly-handle-BlockBreakEvent-isDropItems.patch index 7bf30bb112..3dbf3d2344 100644 --- a/patches/unapplied/server/0848-Properly-handle-BlockBreakEvent-isDropItems.patch +++ b/patches/server/0846-Properly-handle-BlockBreakEvent-isDropItems.patch @@ -24,7 +24,7 @@ index 2aee9c2fbe38076317a3de7c3fdbd6988b64b389..3bd4ab8161c29bb8df2ba496a4430393 // return true; // CraftBukkit diff --git a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java -index d5ed53c37bba79f84b60d616887cd5176e124f10..6c0ea0bde1c36edda92807e317ed37f8b1bdac6a 100644 +index 3e3951cbb196b720256cfc36d6d3b91d48ce3294..4e709c9b126c905a98156639c5ab193a5c496793 100644 --- a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java @@ -94,8 +94,8 @@ public class BeehiveBlock extends BaseEntityBlock { @@ -39,7 +39,7 @@ index d5ed53c37bba79f84b60d616887cd5176e124f10..6c0ea0bde1c36edda92807e317ed37f8 if (!EnchantmentHelper.hasTag(tool, EnchantmentTags.PREVENTS_BEE_SPAWNS_WHEN_MINING)) { tileentitybeehive.emptyAllLivingFromHive(player, state, BeehiveBlockEntity.BeeReleaseStatus.EMERGENCY); diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 9d8c4ecd89b05a0e5d4ebb5e686eba5d899765f2..4ff32e3fb1a1979827ef063cda196a43995440fe 100644 +index 3c7e373eb1601670d923e6ffa46817ca53e321db..0189ff670d84df375399c492467fd4d5c62eff09 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -396,10 +396,18 @@ public class Block extends BlockBehaviour implements ItemLike { diff --git a/patches/unapplied/server/0849-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0847-Fire-entity-death-event-for-ender-dragon.patch similarity index 93% rename from patches/unapplied/server/0849-Fire-entity-death-event-for-ender-dragon.patch rename to patches/server/0847-Fire-entity-death-event-for-ender-dragon.patch index 0efcc781a4..f3f16c5e4c 100644 --- a/patches/unapplied/server/0849-Fire-entity-death-event-for-ender-dragon.patch +++ b/patches/server/0847-Fire-entity-death-event-for-ender-dragon.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fire entity death event for ender dragon diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 38456d3901e495e4c401cff0de7ae38544c1b2a7..2df8bf818345246cc1f88b93e4a3b62e61772efb 100644 +index 037b261a40a800f6d5e9ecd22e230d030b797958..d5fc74dbc2c5f6b65fee46e7797b151144c8fd41 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -627,6 +627,14 @@ public class EnderDragon extends Mob implements Enemy { diff --git a/patches/unapplied/server/0850-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0848-Configurable-entity-tracking-range-by-Y-coordinate.patch similarity index 100% rename from patches/unapplied/server/0850-Configurable-entity-tracking-range-by-Y-coordinate.patch rename to patches/server/0848-Configurable-entity-tracking-range-by-Y-coordinate.patch diff --git a/patches/unapplied/server/0851-Add-Listing-API-for-Player.patch b/patches/server/0849-Add-Listing-API-for-Player.patch similarity index 96% rename from patches/unapplied/server/0851-Add-Listing-API-for-Player.patch rename to patches/server/0849-Add-Listing-API-for-Player.patch index 86fa75135c..8cee363b3a 100644 --- a/patches/unapplied/server/0851-Add-Listing-API-for-Player.patch +++ b/patches/server/0849-Add-Listing-API-for-Player.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Listing API for Player diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java -index 29b465fc1dc50e0e84ddb889c5303e80fe662874..4d67d98257b2cb9045d03c999cfd4ba2caf8453c 100644 +index 6bfb83434a184e6fdba932f692281f0303ada65f..8074d7e84a2f3f868920392896828b31bb90bd5d 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java -@@ -37,6 +37,17 @@ public class ClientboundPlayerInfoUpdatePacket implements Packet players) { EnumSet enumSet = EnumSet.of( -@@ -51,6 +62,28 @@ public class ClientboundPlayerInfoUpdatePacket implements Packet { -@@ -161,10 +194,15 @@ public class ClientboundPlayerInfoUpdatePacket implements Packet +Date: Wed, 8 Sep 2021 21:34:01 +0200 +Subject: [PATCH] Add PlayerPickItemEvent + + +diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +index e287f2ca9a4614e030015a13460fea00aa0cd4f5..b13a12d427b131336ed0cbbea011219c40096207 100644 +--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +@@ -994,15 +994,24 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + if (stack.isItemEnabled(this.player.level().enabledFeatures())) { + Inventory playerinventory = this.player.getInventory(); + int i = playerinventory.findSlotMatchingItem(stack); ++ // Paper start - Add PlayerPickItemEvent ++ final int sourceSlot = i; ++ final int targetSlot = Inventory.isHotbarSlot(sourceSlot) ? sourceSlot : playerinventory.getSuitableHotbarSlot(); ++ final Player bukkitPlayer = this.player.getBukkitEntity(); ++ final io.papermc.paper.event.player.PlayerPickItemEvent event = new io.papermc.paper.event.player.PlayerPickItemEvent(bukkitPlayer, targetSlot, sourceSlot); ++ if (!event.callEvent()) { ++ return; ++ } ++ // Paper end - Add PlayerPickItemEvent + + if (i != -1) { + if (Inventory.isHotbarSlot(i)) { +- playerinventory.selected = i; ++ playerinventory.selected = event.getTargetSlot(); // Paper - Add target slot + } else { +- playerinventory.pickSlot(i); ++ playerinventory.pickSlot(i, event.getTargetSlot()); // Paper - Add target slot + } + } else if (this.player.hasInfiniteMaterials()) { +- playerinventory.addAndPickItem(stack); ++ playerinventory.addAndPickItem(stack, event.getTargetSlot()); // Paper - Add target slot + } + + this.player.connection.send(new ClientboundSetHeldSlotPacket(playerinventory.selected)); +diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java +index 320b6829b8c31bba3c528babe2dd065bdf29581f..39e536d5a9a6fb2cb7654bba8828bdb2c49425dd 100644 +--- a/src/main/java/net/minecraft/world/entity/player/Inventory.java ++++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java +@@ -145,8 +145,10 @@ public class Inventory implements Container, Nameable { + return -1; + } + +- public void addAndPickItem(ItemStack stack) { +- this.selected = this.getSuitableHotbarSlot(); ++ // Paper start - Add PlayerPickItemEvent ++ public void addAndPickItem(ItemStack stack, final int targetSlot) { ++ this.selected = targetSlot; ++ // Paper end - Add PlayerPickItemEvent + if (!((ItemStack) this.items.get(this.selected)).isEmpty()) { + int i = this.getFreeSlot(); + +@@ -158,8 +160,10 @@ public class Inventory implements Container, Nameable { + this.items.set(this.selected, stack); + } + +- public void pickSlot(int slot) { +- this.selected = this.getSuitableHotbarSlot(); ++ // Paper start - Add PlayerPickItemEvent ++ public void pickSlot(int slot, final int targetSlot) { ++ this.selected = targetSlot; ++ // Paper end - Add PlayerPickItemEvent + ItemStack itemstack = (ItemStack) this.items.get(this.selected); + + this.items.set(this.selected, (ItemStack) this.items.get(slot)); diff --git a/patches/unapplied/server/0858-Allow-trident-custom-damage.patch b/patches/server/0856-Allow-trident-custom-damage.patch similarity index 90% rename from patches/unapplied/server/0858-Allow-trident-custom-damage.patch rename to patches/server/0856-Allow-trident-custom-damage.patch index ee7ac1a043..7cdbc23677 100644 --- a/patches/unapplied/server/0858-Allow-trident-custom-damage.patch +++ b/patches/server/0856-Allow-trident-custom-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow trident custom damage diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java -index 248410547de380e3195bbdc8b7b39cff908a0c32..322733266fdca8ce43434a8ffea304c51794bcbb 100644 +index 3888f13a49af26b0ece8813b607c20fc380cecd5..1e045397763e8233c2e8f9955468788374b80068 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java -@@ -36,16 +36,19 @@ public class ThrownTrident extends AbstractArrow { +@@ -37,16 +37,19 @@ public class ThrownTrident extends AbstractArrow { public ThrownTrident(EntityType type, Level world) { super(type, world); @@ -28,7 +28,7 @@ index 248410547de380e3195bbdc8b7b39cff908a0c32..322733266fdca8ce43434a8ffea304c5 this.entityData.set(ThrownTrident.ID_LOYALTY, this.getLoyaltyFromItem(stack)); this.entityData.set(ThrownTrident.ID_FOIL, stack.hasFoil()); } -@@ -136,7 +139,7 @@ public class ThrownTrident extends AbstractArrow { +@@ -137,7 +140,7 @@ public class ThrownTrident extends AbstractArrow { @Override protected void onHitEntity(EntityHitResult entityHitResult) { Entity entity = entityHitResult.getEntity(); diff --git a/patches/unapplied/server/0859-Expose-hand-in-BlockCanBuildEvent.patch b/patches/server/0857-Expose-hand-in-BlockCanBuildEvent.patch similarity index 96% rename from patches/unapplied/server/0859-Expose-hand-in-BlockCanBuildEvent.patch rename to patches/server/0857-Expose-hand-in-BlockCanBuildEvent.patch index f3ed54f3f9..6b01456a9d 100644 --- a/patches/unapplied/server/0859-Expose-hand-in-BlockCanBuildEvent.patch +++ b/patches/server/0857-Expose-hand-in-BlockCanBuildEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose hand in BlockCanBuildEvent diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java -index d59120f0304823361cc4112f5583323945df4229..986b14a7b7c98641201ece649df09e4b8279a36c 100644 +index 560932675223ea3ff75b6bf42b47ea5882ff953a..348a05057d418b46598bd09d8563baa781eb318d 100644 --- a/src/main/java/net/minecraft/world/item/BlockItem.java +++ b/src/main/java/net/minecraft/world/item/BlockItem.java @@ -185,7 +185,7 @@ public class BlockItem extends Item { diff --git a/patches/unapplied/server/0860-Optimize-nearest-structure-border-iteration.patch b/patches/server/0858-Optimize-nearest-structure-border-iteration.patch similarity index 93% rename from patches/unapplied/server/0860-Optimize-nearest-structure-border-iteration.patch rename to patches/server/0858-Optimize-nearest-structure-border-iteration.patch index edd50774cc..8b4cd3484e 100644 --- a/patches/unapplied/server/0860-Optimize-nearest-structure-border-iteration.patch +++ b/patches/server/0858-Optimize-nearest-structure-border-iteration.patch @@ -14,10 +14,10 @@ ensure that the returned found structure (which may for example be a buried treasure that will be marked on a treasure map) is the same as in vanilla. diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -index 31c5f54c90d6e35875f762747f8618e58e2eed91..582065b2d4e818c0edec36b2e9847f8ed3266b10 100644 +index c64389acf0764c8d048bea2d99a21a0da832150d..ca6928f959eb63ac9183ba6c95738609839a7d32 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -@@ -265,12 +265,15 @@ public abstract class ChunkGenerator { +@@ -266,12 +266,15 @@ public abstract class ChunkGenerator { int i1 = placement.spacing(); for (int j1 = -radius; j1 <= radius; ++j1) { diff --git a/patches/unapplied/server/0861-Implement-OfflinePlayer-isConnected.patch b/patches/server/0859-Implement-OfflinePlayer-isConnected.patch similarity index 94% rename from patches/unapplied/server/0861-Implement-OfflinePlayer-isConnected.patch rename to patches/server/0859-Implement-OfflinePlayer-isConnected.patch index a0fc66ac67..3d4be22227 100644 --- a/patches/unapplied/server/0861-Implement-OfflinePlayer-isConnected.patch +++ b/patches/server/0859-Implement-OfflinePlayer-isConnected.patch @@ -23,7 +23,7 @@ index 2c2c4db31a746b4eb853dc04c6b3e5631bbfa034..4f4e3ee18d586f61706504218cddc06a public String getName() { Player player = this.getPlayer(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1368e882c476eaf219643f0050e3c77898769d42..fc78d8855bb3c0eac47d65520939bebaf0da7c2e 100644 +index 006d44e0a1175980f80f6cac0b0f7ed3eef47a52..f49944a4e6cdab26080e6259c5550bda5ff9a7b3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -261,6 +261,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0862-Fix-slot-desync.patch b/patches/server/0860-Fix-slot-desync.patch similarity index 85% rename from patches/unapplied/server/0862-Fix-slot-desync.patch rename to patches/server/0860-Fix-slot-desync.patch index 7570c7226a..4f96d9ada7 100644 --- a/patches/unapplied/server/0862-Fix-slot-desync.patch +++ b/patches/server/0860-Fix-slot-desync.patch @@ -10,10 +10,10 @@ Co-authored-by: Minecrell Co-authored-by: Newwind diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index df2c899988429cb68b0abbb829d378e6a2ed022b..0c5e67db809a9d741cb27d97d42dd9e71fda44eb 100644 +index a5eaac3fb6d949098a9fca20d9dbff59c56773ed..bfaf2cc79afebb0b51f6eb7081de2230546752ef 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -460,6 +460,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -458,6 +458,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { // Use method to resend items in hands in case of client desync, because the item use got cancelled. // For example, when cancelling the leash event @@ -22,28 +22,28 @@ index df2c899988429cb68b0abbb829d378e6a2ed022b..0c5e67db809a9d741cb27d97d42dd9e7 this.containerMenu.findSlot(this.getInventory(), this.getInventory().selected).ifPresent(s -> { this.containerSynchronizer.sendSlotChange(this.containerMenu, s, this.getMainHandItem()); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 38730e11118bf71d167a18b807e06c20ea0d63d0..5be7304c8417e2987837d1c6ce8b80231fd29c51 100644 +index b13a12d427b131336ed0cbbea011219c40096207..4a6ae7e2b4f54e193c8f6472a16c9223d514688a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2747,10 +2747,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - // Refresh the current entity metadata - entity.refreshEntityData(ServerGamePacketListenerImpl.this.player); - // SPIGOT-7136 - Allays -- if (entity instanceof Allay) { +@@ -2812,10 +2812,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + // Refresh the current entity metadata + entity.refreshEntityData(ServerGamePacketListenerImpl.this.player); + // SPIGOT-7136 - Allays +- if (entity instanceof Allay) { + if (entity instanceof Allay || entity instanceof net.minecraft.world.entity.animal.horse.AbstractHorse) { // Paper - Fix horse armor desync - ServerGamePacketListenerImpl.this.send(new ClientboundSetEquipmentPacket(entity.getId(), Arrays.stream(net.minecraft.world.entity.EquipmentSlot.values()).map((slot) -> Pair.of(slot, ((LivingEntity) entity).getItemBySlot(slot).copy())).collect(Collectors.toList()))); -- ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); - } + ServerGamePacketListenerImpl.this.send(new ClientboundSetEquipmentPacket(entity.getId(), Arrays.stream(net.minecraft.world.entity.EquipmentSlot.values()).map((slot) -> Pair.of(slot, ((LivingEntity) entity).getItemBySlot(slot).copy())).collect(Collectors.toList()))); +- ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); + } + + ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); // Paper - fix slot desync - always refresh player inventory - } + } - if (event.isCancelled()) { + if (event.isCancelled()) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e2ca84fb27cff54eada6ca1c7a96a29d1dbbb4e5..2342892db8b2bb1994727e611abb820f8104e486 100644 +index e47440d9b166b1d3512ab84e1427828cf0fb81f8..efe093a1215386d5ff69c15170a841ea4f3a52b4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2753,8 +2753,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2783,8 +2783,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (!this.level().isClientSide()) { // CraftBukkit start - fire PlayerLeashEntityEvent if (CraftEventFactory.callPlayerLeashEntityEvent(this, player, player, hand).isCancelled()) { @@ -91,7 +91,7 @@ index 15c7c2417db1661c77c35455b59a77b1d1055858..cb4baebe22eeab17aed67a5ecc506b93 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java -index 986b14a7b7c98641201ece649df09e4b8279a36c..c816c935ecc74a811ffdffbe6ded73c06e92324a 100644 +index 348a05057d418b46598bd09d8563baa781eb318d..4377fa2400c4320e0023ece230090a2a3b4b2ab6 100644 --- a/src/main/java/net/minecraft/world/item/BlockItem.java +++ b/src/main/java/net/minecraft/world/item/BlockItem.java @@ -108,7 +108,7 @@ public class BlockItem extends Item { diff --git a/patches/unapplied/server/0863-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0861-Add-titleOverride-to-InventoryOpenEvent.patch similarity index 97% rename from patches/unapplied/server/0863-Add-titleOverride-to-InventoryOpenEvent.patch rename to patches/server/0861-Add-titleOverride-to-InventoryOpenEvent.patch index 80612faf72..58b1cc5e7e 100644 --- a/patches/unapplied/server/0863-Add-titleOverride-to-InventoryOpenEvent.patch +++ b/patches/server/0861-Add-titleOverride-to-InventoryOpenEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add titleOverride to InventoryOpenEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0c5e67db809a9d741cb27d97d42dd9e71fda44eb..7bf2e642507b1b68ddeaddf8b435728e3a434ff5 100644 +index bfaf2cc79afebb0b51f6eb7081de2230546752ef..4c49a7a5dc702e1ab2d1b12f41af7c9ce1368e06 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1924,12 +1924,17 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -1907,12 +1907,17 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { this.nextContainerCounter(); AbstractContainerMenu container = factory.createMenu(this.containerCounter, this.getInventory(), this); @@ -27,7 +27,7 @@ index 0c5e67db809a9d741cb27d97d42dd9e71fda44eb..7bf2e642507b1b68ddeaddf8b435728e if (container == null && !cancelled) { // Let pre-cancelled events fall through // SPIGOT-5263 - close chest if cancelled if (factory instanceof Container) { -@@ -1951,7 +1956,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -1934,7 +1939,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { } else { // CraftBukkit start this.containerMenu = container; diff --git a/patches/unapplied/server/0864-Configure-sniffer-egg-hatch-time.patch b/patches/server/0862-Configure-sniffer-egg-hatch-time.patch similarity index 100% rename from patches/unapplied/server/0864-Configure-sniffer-egg-hatch-time.patch rename to patches/server/0862-Configure-sniffer-egg-hatch-time.patch diff --git a/patches/unapplied/server/0865-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/0863-Do-crystal-portal-proximity-check-before-entity-look.patch similarity index 100% rename from patches/unapplied/server/0865-Do-crystal-portal-proximity-check-before-entity-look.patch rename to patches/server/0863-Do-crystal-portal-proximity-check-before-entity-look.patch diff --git a/patches/unapplied/server/0866-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/0864-Skip-POI-finding-if-stuck-in-vehicle.patch similarity index 92% rename from patches/unapplied/server/0866-Skip-POI-finding-if-stuck-in-vehicle.patch rename to patches/server/0864-Skip-POI-finding-if-stuck-in-vehicle.patch index a4dcac44ac..ef5cb8a16f 100644 --- a/patches/unapplied/server/0866-Skip-POI-finding-if-stuck-in-vehicle.patch +++ b/patches/server/0864-Skip-POI-finding-if-stuck-in-vehicle.patch @@ -19,10 +19,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java -index 21e50342598f7cd9efa1a39e70bd72d152d98812..e8aa27547e3fa1a42720889c7038d4fb0273e7b5 100644 +index cd7e68e11c896414fbfa3ea078b258f185511b35..45974895c464b4c0186ab9add5eacb98abe90e09 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java -@@ -57,6 +57,7 @@ public class AcquirePoi { +@@ -70,6 +70,7 @@ public class AcquirePoi { return false; } else { mutableLong.setValue(time + 20L + (long)world.getRandom().nextInt(20)); diff --git a/patches/unapplied/server/0867-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0865-Add-slot-sanity-checks-in-container-clicks.patch similarity index 94% rename from patches/unapplied/server/0867-Add-slot-sanity-checks-in-container-clicks.patch rename to patches/server/0865-Add-slot-sanity-checks-in-container-clicks.patch index 8bc3b0c3fd..93d3da2b67 100644 --- a/patches/unapplied/server/0867-Add-slot-sanity-checks-in-container-clicks.patch +++ b/patches/server/0865-Add-slot-sanity-checks-in-container-clicks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add slot sanity checks in container clicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5be7304c8417e2987837d1c6ce8b80231fd29c51..1ef521e4552f8ce48f620d8932d5e9356b14ae57 100644 +index 4a6ae7e2b4f54e193c8f6472a16c9223d514688a..ebbedcc76900088648e3b45041eb5f138727a835 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3009,6 +3009,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3075,6 +3075,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl break; case SWAP: if ((packet.getButtonNum() >= 0 && packet.getButtonNum() < 9) || packet.getButtonNum() == 40) { diff --git a/patches/unapplied/server/0868-Call-BlockRedstoneEvents-properly.patch b/patches/server/0866-Call-BlockRedstoneEvents-properly.patch similarity index 94% rename from patches/unapplied/server/0868-Call-BlockRedstoneEvents-properly.patch rename to patches/server/0866-Call-BlockRedstoneEvents-properly.patch index 54b0e427b8..d5fec3e60b 100644 --- a/patches/unapplied/server/0868-Call-BlockRedstoneEvents-properly.patch +++ b/patches/server/0866-Call-BlockRedstoneEvents-properly.patch @@ -7,10 +7,10 @@ Call BlockRedstoneEvents for lecterns. Fix previous power level for experimental redstone wire. diff --git a/src/main/java/net/minecraft/world/level/block/LecternBlock.java b/src/main/java/net/minecraft/world/level/block/LecternBlock.java -index 44d322d26187bd7528799069d0e08dbf571a57f3..2864d0dec66980736f7434bff3031c05cff64592 100644 +index 5f860da758a6954d548bc4e768f39485c2aa4645..9797d756ecf532db013093469a3e40d9c6ac0544 100644 --- a/src/main/java/net/minecraft/world/level/block/LecternBlock.java +++ b/src/main/java/net/minecraft/world/level/block/LecternBlock.java -@@ -180,6 +180,16 @@ public class LecternBlock extends BaseEntityBlock { +@@ -175,6 +175,16 @@ public class LecternBlock extends BaseEntityBlock { } private static void changePowered(Level world, BlockPos pos, BlockState state, boolean powered) { diff --git a/patches/unapplied/server/0869-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0867-Allow-proper-checking-of-empty-item-stacks.patch similarity index 100% rename from patches/unapplied/server/0869-Allow-proper-checking-of-empty-item-stacks.patch rename to patches/server/0867-Allow-proper-checking-of-empty-item-stacks.patch diff --git a/patches/unapplied/server/0870-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0868-Fix-silent-equipment-change-for-mobs.patch similarity index 95% rename from patches/unapplied/server/0870-Fix-silent-equipment-change-for-mobs.patch rename to patches/server/0868-Fix-silent-equipment-change-for-mobs.patch index 14b0a2dab0..ef965e7c29 100644 --- a/patches/unapplied/server/0870-Fix-silent-equipment-change-for-mobs.patch +++ b/patches/server/0868-Fix-silent-equipment-change-for-mobs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix silent equipment change for mobs diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index ac7a52e77fd2fcbe9f95709b95ba54f8c2a6514b..8a0e65ac8318a467996f48b423db1ac621359fbe 100644 +index 7d3e165bae2c00737019689b7bf1e74ad2517270..13064a73a9e3b45d32a098c4179cd980be508abc 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1100,19 +1100,26 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab @@ -39,10 +39,10 @@ index ac7a52e77fd2fcbe9f95709b95ba54f8c2a6514b..8a0e65ac8318a467996f48b423db1ac6 } diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index 0cb179bc28cc863b09a079b37b957744f26f3e1d..32670a3cb4b54b66d655197e3fde834d2b2b6d34 100644 +index cb89a95e6ff9db73c912bba04d27657683135153..90b6ed81dcfd4021c7e9509da5e8725034fa07e5 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -@@ -258,8 +258,8 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -265,8 +265,8 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo // Paper end - shouldBurnInDay API @Override diff --git a/patches/unapplied/server/0871-Fix-spigot-s-Forced-Stats.patch b/patches/server/0869-Fix-spigot-s-Forced-Stats.patch similarity index 100% rename from patches/unapplied/server/0871-Fix-spigot-s-Forced-Stats.patch rename to patches/server/0869-Fix-spigot-s-Forced-Stats.patch diff --git a/patches/unapplied/server/0872-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/0870-Add-missing-InventoryHolders-to-inventories.patch similarity index 98% rename from patches/unapplied/server/0872-Add-missing-InventoryHolders-to-inventories.patch rename to patches/server/0870-Add-missing-InventoryHolders-to-inventories.patch index d6bf23a4f8..6464e85d97 100644 --- a/patches/unapplied/server/0872-Add-missing-InventoryHolders-to-inventories.patch +++ b/patches/server/0870-Add-missing-InventoryHolders-to-inventories.patch @@ -77,7 +77,7 @@ index 22dc1569aabe69f139d9682ceb81311993706cb8..85caec29a705f216eff8a5ae11f25069 + // Paper end - Add missing InventoryHolders } diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java -index c0dfa04511110be366ee5b0bd75efc51afcce2e4..e0ee1c10960d24d2369d16f22431a8e02a5570aa 100644 +index 75f097414f436eee9f179d4d03dd64599cbaad6f..b821c2676ecc252f90eff84cad0c4ba2c664531e 100644 --- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java +++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java @@ -42,7 +42,7 @@ public class BeaconMenu extends AbstractContainerMenu { @@ -148,10 +148,10 @@ index 85e336637db8643fc5aca1dba724c9b341cbf46f..12b466ccb7c36021cf807c4f3fd2bcb0 @Override public Optional evaluate(BiFunction getter) { diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -index 2642d8ddc79ad97675f958c89ef03da39903f359..36496144dd6fa87163b692034570eba70c83678c 100644 +index 68f978be8ec11e0e5bb4ea40e06c61f729e92d46..e200df7fc90de06d420556711ac67fa94a40d1d2 100644 --- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java +++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -@@ -63,7 +63,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { +@@ -62,7 +62,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { public EnchantmentMenu(int syncId, Inventory playerInventory, ContainerLevelAccess context) { super(MenuType.ENCHANTMENT, syncId); @@ -273,7 +273,7 @@ index d4592218d761eb38402e3d95c642e80a708cb333..4c4266a85c38e41e6c7e6144a68624f4 public ResultContainer() { this.itemStacks = NonNullList.withSize(1, ItemStack.EMPTY); diff --git a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java -index a93870952e2ef674028b8a20aa52a685c743e7ea..ca65965757e6f12abc972250a04817c7547bb0bd 100644 +index 74ea3f0154733ed4f096d88403fe011cca663e02..5dce62aead43c7110e06196423458eea2ba31885 100644 --- a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java +++ b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java @@ -69,7 +69,7 @@ public class StonecutterMenu extends AbstractContainerMenu { diff --git a/patches/unapplied/server/0873-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/0871-Do-not-read-tile-entities-in-chunks-that-are-positio.patch similarity index 100% rename from patches/unapplied/server/0873-Do-not-read-tile-entities-in-chunks-that-are-positio.patch rename to patches/server/0871-Do-not-read-tile-entities-in-chunks-that-are-positio.patch diff --git a/patches/unapplied/server/0874-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/0872-Add-missing-logs-for-log-ips-config-option.patch similarity index 100% rename from patches/unapplied/server/0874-Add-missing-logs-for-log-ips-config-option.patch rename to patches/server/0872-Add-missing-logs-for-log-ips-config-option.patch diff --git a/patches/unapplied/server/0875-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/0873-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch similarity index 100% rename from patches/unapplied/server/0875-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch rename to patches/server/0873-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch diff --git a/patches/unapplied/server/0876-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/0874-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch similarity index 100% rename from patches/unapplied/server/0876-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch rename to patches/server/0874-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch diff --git a/patches/unapplied/server/0877-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/0875-Fix-team-sidebar-objectives-not-being-cleared.patch similarity index 100% rename from patches/unapplied/server/0877-Fix-team-sidebar-objectives-not-being-cleared.patch rename to patches/server/0875-Fix-team-sidebar-objectives-not-being-cleared.patch diff --git a/patches/unapplied/server/0878-Fix-missing-map-initialize-event-call.patch b/patches/server/0876-Fix-missing-map-initialize-event-call.patch similarity index 93% rename from patches/unapplied/server/0878-Fix-missing-map-initialize-event-call.patch rename to patches/server/0876-Fix-missing-map-initialize-event-call.patch index a3e1b9d535..1048876aa5 100644 --- a/patches/unapplied/server/0878-Fix-missing-map-initialize-event-call.patch +++ b/patches/server/0876-Fix-missing-map-initialize-event-call.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Fix missing map initialize event call public net.minecraft.world.level.storage.DimensionDataStorage readSavedData(Ljava/util/function/Function;Lnet/minecraft/util/datafix/DataFixTypes;Ljava/lang/String;)Lnet/minecraft/world/level/saveddata/SavedData; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 5770fa7a798c1c019bef27426f945f3cc0387a36..6923624f069c1aeb757386ef91d285769a2923a2 100644 +index 48b93220fb7429cc4ce498cf9b862b8e6bee70d4..1197788c4e0cc8740e69cfcc36d731bf6bc9fcb1 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1701,13 +1701,29 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1707,13 +1707,29 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @Nullable @Override public MapItemSavedData getMapData(MapId id) { diff --git a/patches/unapplied/server/0879-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/0877-Update-entity-data-when-attaching-firework-to-entity.patch similarity index 100% rename from patches/unapplied/server/0879-Update-entity-data-when-attaching-firework-to-entity.patch rename to patches/server/0877-Update-entity-data-when-attaching-firework-to-entity.patch diff --git a/patches/unapplied/server/0880-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0878-Fix-UnsafeValues-loadAdvancement.patch similarity index 96% rename from patches/unapplied/server/0880-Fix-UnsafeValues-loadAdvancement.patch rename to patches/server/0878-Fix-UnsafeValues-loadAdvancement.patch index a2c8813abd..0da2e5aca2 100644 --- a/patches/unapplied/server/0880-Fix-UnsafeValues-loadAdvancement.patch +++ b/patches/server/0878-Fix-UnsafeValues-loadAdvancement.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix UnsafeValues#loadAdvancement diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 939bc76ca46081d51a6cb18ac39cd05d3ce58ac8..789f98d0a6bbe240714ae965dfa1312439ce09cf 100644 +index cd00165ebb193c788e05a6f0b2b649936d56aa9f..066d8f0592fa4fc9886eab7ca1ba1151b3748b95 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -303,9 +303,30 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0881-Add-player-idle-duration-API.patch b/patches/server/0879-Add-player-idle-duration-API.patch similarity index 85% rename from patches/unapplied/server/0881-Add-player-idle-duration-API.patch rename to patches/server/0879-Add-player-idle-duration-API.patch index c4d135a22a..7d46c27071 100644 --- a/patches/unapplied/server/0881-Add-player-idle-duration-API.patch +++ b/patches/server/0879-Add-player-idle-duration-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API Implements API for getting and resetting a player's idle duration. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fc78d8855bb3c0eac47d65520939bebaf0da7c2e..7ec99101add68688a0d04ae2c177d64862c3a283 100644 +index f49944a4e6cdab26080e6259c5550bda5ff9a7b3..06d5472a19e80fc363df10df936f1f03805e78d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3431,6 +3431,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3416,6 +3416,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/unapplied/server/0882-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/0880-Don-t-check-if-we-can-see-non-visible-entities.patch similarity index 100% rename from patches/unapplied/server/0882-Don-t-check-if-we-can-see-non-visible-entities.patch rename to patches/server/0880-Don-t-check-if-we-can-see-non-visible-entities.patch diff --git a/patches/unapplied/server/0883-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/0881-Fix-NPE-in-SculkBloomEvent-world-access.patch similarity index 100% rename from patches/unapplied/server/0883-Fix-NPE-in-SculkBloomEvent-world-access.patch rename to patches/server/0881-Fix-NPE-in-SculkBloomEvent-world-access.patch diff --git a/patches/unapplied/server/0884-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0882-Allow-null-itemstack-for-Player-sendEquipmentChange.patch similarity index 90% rename from patches/unapplied/server/0884-Allow-null-itemstack-for-Player-sendEquipmentChange.patch rename to patches/server/0882-Allow-null-itemstack-for-Player-sendEquipmentChange.patch index c8b749cd23..8d4340bc13 100644 --- a/patches/unapplied/server/0884-Allow-null-itemstack-for-Player-sendEquipmentChange.patch +++ b/patches/server/0882-Allow-null-itemstack-for-Player-sendEquipmentChange.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7ec99101add68688a0d04ae2c177d64862c3a283..27371b2d6cdd4c996a28d102f8449866a2441061 100644 +index 06d5472a19e80fc363df10df936f1f03805e78d7..4e071f8561f730d21a384406bd2d27a898c87a06 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1134,7 +1134,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0885-Optimize-VarInts.patch b/patches/server/0883-Optimize-VarInts.patch similarity index 100% rename from patches/unapplied/server/0885-Optimize-VarInts.patch rename to patches/server/0883-Optimize-VarInts.patch diff --git a/patches/unapplied/server/0886-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0884-Add-API-to-get-the-collision-shape-of-a-block-before.patch similarity index 90% rename from patches/unapplied/server/0886-Add-API-to-get-the-collision-shape-of-a-block-before.patch rename to patches/server/0884-Add-API-to-get-the-collision-shape-of-a-block-before.patch index f8c8435473..bc760b1a56 100644 --- a/patches/unapplied/server/0886-Add-API-to-get-the-collision-shape-of-a-block-before.patch +++ b/patches/server/0884-Add-API-to-get-the-collision-shape-of-a-block-before.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add API to get the collision shape of a block before it's diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index d66cab6adc3f76a3863fed5d0d9a6abf765af5c6..21764b9d723e5c37a5d21d57d24d8631205ecbf2 100644 +index fd941d9e38fa6c886b6779eaa63eebe00e1fa1b5..66e40149a59c4bd5d5ca3b5a69c733eea49fb86b 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -687,6 +687,20 @@ public class CraftBlockData implements BlockData { +@@ -688,6 +688,20 @@ public class CraftBlockData implements BlockData { return this.state.isFaceSturdy(EmptyBlockGetter.INSTANCE, BlockPos.ZERO, CraftBlock.blockFaceToNotch(face), CraftBlockSupport.toNMS(support)); } diff --git a/patches/unapplied/server/0887-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0885-Add-predicate-for-blocks-when-raytracing.patch similarity index 97% rename from patches/unapplied/server/0887-Add-predicate-for-blocks-when-raytracing.patch rename to patches/server/0885-Add-predicate-for-blocks-when-raytracing.patch index 4f053a20bc..52e7d29745 100644 --- a/patches/unapplied/server/0887-Add-predicate-for-blocks-when-raytracing.patch +++ b/patches/server/0885-Add-predicate-for-blocks-when-raytracing.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add predicate for blocks when raytracing diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java -index 7e1a332168357b9af14dbe3299549c2c93903fa6..93738c7dea1ea3d19013a47380391274612a719b 100644 +index e69473307b30d2b805fc1723ae8f6f2be76310ef..62719778c62d6632a8eb6f2bc670956c15a247de 100644 --- a/src/main/java/net/minecraft/world/level/BlockGetter.java +++ b/src/main/java/net/minecraft/world/level/BlockGetter.java @@ -71,6 +71,12 @@ public interface BlockGetter extends LevelHeightAccessor { @@ -47,7 +47,7 @@ index 7e1a332168357b9af14dbe3299549c2c93903fa6..93738c7dea1ea3d19013a47380391274 Vec3 vec3d = raytrace1.getFrom().subtract(raytrace1.getTo()); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f85f94ddf55034b8e160f0be7ba847f0ad785a04..d7d6eb37cbb3bc8c4850a2bbf5d57c5fbc9a22bc 100644 +index 231089eab86f5d3e33ddb6d5cb8358d5d5d5eaf4..a36470d9e9d36106c928f39f7eddc7afe3621610 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1097,9 +1097,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0888-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0886-Broadcast-take-item-packets-with-collector-as-source.patch similarity index 88% rename from patches/unapplied/server/0888-Broadcast-take-item-packets-with-collector-as-source.patch rename to patches/server/0886-Broadcast-take-item-packets-with-collector-as-source.patch index 056419eb72..a34fde6c5c 100644 --- a/patches/unapplied/server/0888-Broadcast-take-item-packets-with-collector-as-source.patch +++ b/patches/server/0886-Broadcast-take-item-packets-with-collector-as-source.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Broadcast take item packets with collector as source This fixes players (which can't view the collector) seeing item pickups with themselves as the target. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7bce1bd9ff1d76c5a238d03475d8bcdaaca680d3..84623aa24f8c90f0b51094c2d0773ee98c3a8524 100644 +index 94ade049fa74f1e9e417c891453f50b203fe9b6c..66c9df4085d004b8a83ce0da954b380c7e5085a6 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3892,7 +3892,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3903,7 +3903,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public void take(Entity item, int count) { if (!item.isRemoved() && !this.level().isClientSide && (item instanceof ItemEntity || item instanceof AbstractArrow || item instanceof ExperienceOrb)) { diff --git a/patches/unapplied/server/0889-Expand-LingeringPotion-API.patch b/patches/server/0887-Expand-LingeringPotion-API.patch similarity index 100% rename from patches/unapplied/server/0889-Expand-LingeringPotion-API.patch rename to patches/server/0887-Expand-LingeringPotion-API.patch diff --git a/patches/unapplied/server/0890-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0888-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch similarity index 97% rename from patches/unapplied/server/0890-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch rename to patches/server/0888-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch index 8a2398d6ab..50b3a3d9a2 100644 --- a/patches/unapplied/server/0890-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch +++ b/patches/server/0888-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch @@ -45,7 +45,7 @@ index 152ecd38814089333b8d61538297ce720756d2c3..12127b14babf646711d3a118416453c4 if (world instanceof ServerLevel) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d7d6eb37cbb3bc8c4850a2bbf5d57c5fbc9a22bc..a58e26a89ffd23eee44c822a5a426284d87ec4f2 100644 +index a36470d9e9d36106c928f39f7eddc7afe3621610..b7d30e9578b01672a8485077a2d093fa744e802c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -723,7 +723,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0891-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/0889-Add-hand-to-fish-event-for-all-player-interactions.patch similarity index 96% rename from patches/unapplied/server/0891-Add-hand-to-fish-event-for-all-player-interactions.patch rename to patches/server/0889-Add-hand-to-fish-event-for-all-player-interactions.patch index cb3197a1b2..49bef0d9a5 100644 --- a/patches/unapplied/server/0891-Add-hand-to-fish-event-for-all-player-interactions.patch +++ b/patches/server/0889-Add-hand-to-fish-event-for-all-player-interactions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add hand to fish event for all player interactions diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index 1f95234c0a1457050574aa0f6c4b2a8c91b1f272..5b49b11d2d88b33731df582b119ef7a680d862e9 100644 +index a2487ca0d7794e58d9ede35d9be5a05a7ea7b03c..dcf60d2499957d4803e4b395603da45e81076095 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java @@ -487,7 +487,15 @@ public class FishingHook extends Projectile { @@ -61,7 +61,7 @@ index 1f95234c0a1457050574aa0f6c4b2a8c91b1f272..5b49b11d2d88b33731df582b119ef7a6 if (playerFishEvent.isCancelled()) { return 0; diff --git a/src/main/java/net/minecraft/world/item/FishingRodItem.java b/src/main/java/net/minecraft/world/item/FishingRodItem.java -index 5a50f3391d73fe881b8219d9da05c1dc45533251..801a513d67637136a15307a98fc6bbec9d202b00 100644 +index 54a71bd8c5e7eefb3c008664fb886f4887073dbb..06b66e68d33928c41f0289a67c8c3aad87811ac9 100644 --- a/src/main/java/net/minecraft/world/item/FishingRodItem.java +++ b/src/main/java/net/minecraft/world/item/FishingRodItem.java @@ -31,7 +31,7 @@ public class FishingRodItem extends Item { diff --git a/patches/unapplied/server/0892-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/0890-Fix-several-issues-with-EntityBreedEvent.patch similarity index 100% rename from patches/unapplied/server/0892-Fix-several-issues-with-EntityBreedEvent.patch rename to patches/server/0890-Fix-several-issues-with-EntityBreedEvent.patch diff --git a/patches/unapplied/server/0893-Add-UUID-attribute-modifier-API.patch b/patches/server/0891-Add-UUID-attribute-modifier-API.patch similarity index 100% rename from patches/unapplied/server/0893-Add-UUID-attribute-modifier-API.patch rename to patches/server/0891-Add-UUID-attribute-modifier-API.patch diff --git a/patches/unapplied/server/0894-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0892-Fix-missing-event-call-for-entity-teleport-API.patch similarity index 100% rename from patches/unapplied/server/0894-Fix-missing-event-call-for-entity-teleport-API.patch rename to patches/server/0892-Fix-missing-event-call-for-entity-teleport-API.patch diff --git a/patches/unapplied/server/0895-Lazily-create-LootContext-for-criterions.patch b/patches/server/0893-Lazily-create-LootContext-for-criterions.patch similarity index 100% rename from patches/unapplied/server/0895-Lazily-create-LootContext-for-criterions.patch rename to patches/server/0893-Lazily-create-LootContext-for-criterions.patch diff --git a/patches/unapplied/server/0896-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0894-Don-t-fire-sync-events-during-worldgen.patch similarity index 95% rename from patches/unapplied/server/0896-Don-t-fire-sync-events-during-worldgen.patch rename to patches/server/0894-Don-t-fire-sync-events-during-worldgen.patch index 60837d1de4..b725d65f7e 100644 --- a/patches/unapplied/server/0896-Don-t-fire-sync-events-during-worldgen.patch +++ b/patches/server/0894-Don-t-fire-sync-events-during-worldgen.patch @@ -19,10 +19,10 @@ where generation happened directly to a ServerLevel and the entity still has the flag set. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 6923624f069c1aeb757386ef91d285769a2923a2..7ab4e93ae11e3a510cb58aeed8029c19dfccf31d 100644 +index 1197788c4e0cc8740e69cfcc36d731bf6bc9fcb1..97f1722ed5566dcb8c7e0ccdefea1f89574eb12e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1194,6 +1194,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1195,6 +1195,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // CraftBukkit start private boolean addEntity(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot @@ -31,7 +31,7 @@ index 6923624f069c1aeb757386ef91d285769a2923a2..7ab4e93ae11e3a510cb58aeed8029c19 if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on {}", entity, new Throwable()); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2342892db8b2bb1994727e611abb820f8104e486..12afae25cf60a402f92d1a4054738d50f076348c 100644 +index efe093a1215386d5ff69c15170a841ea4f3a52b4..a84e80f53418a759de5e4e364be6530e0996fd1b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -632,7 +632,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -48,10 +48,10 @@ index 2342892db8b2bb1994727e611abb820f8104e486..12afae25cf60a402f92d1a4054738d50 this.entityData.set(Entity.DATA_POSE, pose); } diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 64dc0bd1900575e40ac72a98c6df371223bd244c..c2693d530be00af16b2aa4ca4afd1d136db68183 100644 +index 979c99851ccb363d889069bafa5b5f7eb6b1a436..2cd74db8e3c51c97a2abcb801bb5c15cd55ca8f9 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -649,9 +649,15 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -659,9 +659,15 @@ public class EntityType implements FeatureElement, EntityTypeT } public static Optional create(CompoundTag nbt, Level world, EntitySpawnReason reason) { @@ -68,7 +68,7 @@ index 64dc0bd1900575e40ac72a98c6df371223bd244c..c2693d530be00af16b2aa4ca4afd1d13 }, () -> { EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id")); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 84623aa24f8c90f0b51094c2d0773ee98c3a8524..3229db46d1efa2c58182043a3d2841040eb021f2 100644 +index 66c9df4085d004b8a83ce0da954b380c7e5085a6..e723098bbba695e6919c5d0cc185dfb710f52606 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1159,6 +1159,11 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/unapplied/server/0897-Add-Structure-check-API.patch b/patches/server/0895-Add-Structure-check-API.patch similarity index 91% rename from patches/unapplied/server/0897-Add-Structure-check-API.patch rename to patches/server/0895-Add-Structure-check-API.patch index 4e91539351..cac7acf30a 100644 --- a/patches/unapplied/server/0897-Add-Structure-check-API.patch +++ b/patches/server/0895-Add-Structure-check-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Structure check API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a58e26a89ffd23eee44c822a5a426284d87ec4f2..0633bc206578b3bca7203ea721cfdfcd609dc568 100644 +index b7d30e9578b01672a8485077a2d093fa744e802c..6689656098a83d5fe39762caaa6d4924249968ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -243,6 +243,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0898-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0896-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch similarity index 89% rename from patches/unapplied/server/0898-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch rename to patches/server/0896-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch index 9c0d8110d9..7490845b11 100644 --- a/patches/unapplied/server/0898-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch +++ b/patches/server/0896-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix CraftMetaItem#getAttributeModifier duplication check diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index f93870955c83505432c352f627cd105dfa4e5b78..bc6bdf4a12c83b7a0742f3202860f56f14afe4a3 100644 +index fba042d6934f7e871114c81f97a6ac88a9b59212..f129d714c1a815f348669dc13a5cd4d360e8ed6a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1666,7 +1666,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1685,7 +1685,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { Preconditions.checkNotNull(modifier, "AttributeModifier cannot be null"); this.checkAttributeList(); for (Map.Entry entry : this.attributeModifiers.entries()) { diff --git a/patches/unapplied/server/0899-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0897-Restore-vanilla-entity-drops-behavior.patch similarity index 96% rename from patches/unapplied/server/0899-Restore-vanilla-entity-drops-behavior.patch rename to patches/server/0897-Restore-vanilla-entity-drops-behavior.patch index d7aef7b13a..bdd4fbdc29 100644 --- a/patches/unapplied/server/0899-Restore-vanilla-entity-drops-behavior.patch +++ b/patches/server/0897-Restore-vanilla-entity-drops-behavior.patch @@ -9,10 +9,10 @@ on dropping the item instead of generalizing it for all dropped items like CB does. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 7bf2e642507b1b68ddeaddf8b435728e3a434ff5..1bf9dcc77676376184ea45465a6e5ea5ddeb99f4 100644 +index 4c49a7a5dc702e1ab2d1b12f41af7c9ce1368e06..d82a22d9ef5a7f649d424c01e88a12094ce0a41f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1235,20 +1235,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -1232,20 +1232,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { if (this.isRemoved()) { return; } @@ -37,10 +37,10 @@ index 7bf2e642507b1b68ddeaddf8b435728e3a434ff5..1bf9dcc77676376184ea45465a6e5ea5 loot.addAll(this.drops); this.drops.clear(); // SPIGOT-5188: make sure to clear diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 12afae25cf60a402f92d1a4054738d50f076348c..b2a62e6414abbe10b3338fcc1d68530856d59ba4 100644 +index a84e80f53418a759de5e4e364be6530e0996fd1b..7c102523d44fd07d3d31b09203e36ab3b9ef472f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2679,19 +2679,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2704,19 +2704,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @Nullable public ItemEntity spawnAtLocation(ServerLevel world, ItemStack stack, float yOffset) { @@ -89,10 +89,10 @@ index 12afae25cf60a402f92d1a4054738d50f076348c..b2a62e6414abbe10b3338fcc1d685308 return this.spawnAtLocation(world, entityitem); } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3229db46d1efa2c58182043a3d2841040eb021f2..4fbd23d1783642becb39a404b988eb44c418c3b5 100644 +index e723098bbba695e6919c5d0cc185dfb710f52606..5d879efbb460ecca9a8ffc570d384a96898dada1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -289,7 +289,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -287,7 +287,7 @@ public abstract class LivingEntity extends Entity implements Attackable { protected float appliedScale; // CraftBukkit start public int expToDrop; @@ -102,10 +102,10 @@ index 3229db46d1efa2c58182043a3d2841040eb021f2..4fbd23d1783642becb39a404b988eb44 public boolean collides = true; public Set collidableExemptions = new HashSet<>(); diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index e6b18d7f8922cb42acb9e40bef2f71a56aea8646..e1be143959fbaa1d54af2a1a2c27187d70e6a9e9 100644 +index fa8c7a7f71621437bec2ce69c3ad24b495ceed1d..9fac1c16356ab994462852aeb9c42bf32996bbde 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -536,10 +536,10 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -535,10 +535,10 @@ public class WitherBoss extends Monster implements RangedAttackMob { @Override protected void dropCustomDeathLoot(ServerLevel world, DamageSource source, boolean causedByPlayer) { super.dropCustomDeathLoot(world, source, causedByPlayer); diff --git a/patches/unapplied/server/0900-Dont-resend-blocks-on-interactions.patch b/patches/server/0898-Dont-resend-blocks-on-interactions.patch similarity index 98% rename from patches/unapplied/server/0900-Dont-resend-blocks-on-interactions.patch rename to patches/server/0898-Dont-resend-blocks-on-interactions.patch index 04f0061970..233b0fcc64 100644 --- a/patches/unapplied/server/0900-Dont-resend-blocks-on-interactions.patch +++ b/patches/server/0898-Dont-resend-blocks-on-interactions.patch @@ -149,10 +149,10 @@ index 002e2f8e956b2631529e2189be225385dfb501df..3bddfb6f7412ab86e0c090d0cbc6cf25 return false; } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index cb6bcf8b61793882252827309ffa99526244e445..98b5208baeaa12a5ff2788e457c542000d6ea48b 100644 +index 30ba2750e884ceff89e87e2155f18ea66a05ee36..fd5b6a94693bbbf14be39e63025ebd4c44530e2d 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -506,10 +506,12 @@ public final class ItemStack implements DataComponentHolder { +@@ -511,10 +511,12 @@ public final class ItemStack implements DataComponentHolder { world.preventPoiUpdated = false; // Brute force all possible updates diff --git a/patches/unapplied/server/0901-add-more-scoreboard-API.patch b/patches/server/0899-add-more-scoreboard-API.patch similarity index 100% rename from patches/unapplied/server/0901-add-more-scoreboard-API.patch rename to patches/server/0899-add-more-scoreboard-API.patch diff --git a/patches/unapplied/server/0902-Improve-Registry.patch b/patches/server/0900-Improve-Registry.patch similarity index 100% rename from patches/unapplied/server/0902-Improve-Registry.patch rename to patches/server/0900-Improve-Registry.patch diff --git a/patches/unapplied/server/0903-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0901-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch similarity index 91% rename from patches/unapplied/server/0903-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch rename to patches/server/0901-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch index 9f3a60df76..764d6afb4b 100644 --- a/patches/unapplied/server/0903-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch +++ b/patches/server/0901-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch @@ -26,10 +26,10 @@ index c6dcc37ac5fcf50bcb246f533b99983dfc5c19c2..c13b6f14c3061710c2b27034db240cc9 d3 = to.getX(); d4 = to.getY(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 4fbd23d1783642becb39a404b988eb44c418c3b5..bd2df2a70e78b68b5eefd9c0b6fe14f9717fb1d7 100644 +index 5d879efbb460ecca9a8ffc570d384a96898dada1..23c9ef6dd0bb73bcf6af0e9b581bad72abe8bf22 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4364,7 +4364,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4371,7 +4371,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!(this instanceof ServerPlayer)) { EntityTeleportEvent teleport = new EntityTeleportEvent(this.getBukkitEntity(), new Location(this.level().getWorld(), d3, d4, d5), new Location(this.level().getWorld(), d0, d6, d2)); this.level().getCraftServer().getPluginManager().callEvent(teleport); @@ -39,10 +39,10 @@ index 4fbd23d1783642becb39a404b988eb44c418c3b5..bd2df2a70e78b68b5eefd9c0b6fe14f9 this.teleportTo(to.getX(), to.getY(), to.getZ()); } else { diff --git a/src/main/java/net/minecraft/world/entity/TamableAnimal.java b/src/main/java/net/minecraft/world/entity/TamableAnimal.java -index f6a253e063f4a2cf78a036e44431806a0ba270d9..332ae836826270507110f1e0438aaa36d6e9deb5 100644 +index 5bcdeb3eb463d637b16abfb43d5489c0334b6673..68224d1cdabdaf04e4d26dd07e222a312e8fc898 100644 --- a/src/main/java/net/minecraft/world/entity/TamableAnimal.java +++ b/src/main/java/net/minecraft/world/entity/TamableAnimal.java -@@ -314,7 +314,7 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity { +@@ -321,7 +321,7 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity { } else { // CraftBukkit start EntityTeleportEvent event = CraftEventFactory.callEntityTeleportEvent(this, (double) x + 0.5D, (double) y, (double) z + 0.5D); @@ -52,7 +52,7 @@ index f6a253e063f4a2cf78a036e44431806a0ba270d9..332ae836826270507110f1e0438aaa36 } Location to = event.getTo(); diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index dc1870baf172982ebb34eccd4ee79497f48f8050..0fffa9dbcbbb15a2138f9a4e4d8e812c8047a7bb 100644 +index 74fa6d2b569b42ac2dbb7efb10df658b9ffeecc4..5e6b66a12af7618fd55b4e32577d718849008b19 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -416,7 +416,7 @@ public class Shulker extends AbstractGolem implements VariantHolder implements FeatureElement, EntityTypeT +@@ -690,7 +690,7 @@ public class EntityType implements FeatureElement, EntityTypeT } public static Optional> by(CompoundTag nbt) { @@ -66,12 +66,12 @@ index c2693d530be00af16b2aa4ca4afd1d136db68183..629c1316920ad4c111fff489f8c3ea0e @Nullable diff --git a/src/main/java/net/minecraft/world/entity/Leashable.java b/src/main/java/net/minecraft/world/entity/Leashable.java -index b7721ed97305d1cd6725935f965c2effc1bef5a1..5f880a8809f9c20bc8e8c0b2d48590bab02cf077 100644 +index 68b869c5d76aeb390a05b053eef70486bd4126fd..48f89ec0f02b85092d03fddeec961f1eba5d4a2a 100644 --- a/src/main/java/net/minecraft/world/entity/Leashable.java +++ b/src/main/java/net/minecraft/world/entity/Leashable.java -@@ -55,7 +55,13 @@ public interface Leashable { +@@ -65,7 +65,13 @@ public interface Leashable { @Nullable - default Leashable.LeashData readLeashData(CompoundTag nbt) { + private static Leashable.LeashData readLeashDataInternal(CompoundTag nbt) { if (nbt.contains("leash", 10)) { - return new Leashable.LeashData(Either.left(nbt.getCompound("leash").getUUID("UUID"))); + // Paper start @@ -85,7 +85,7 @@ index b7721ed97305d1cd6725935f965c2effc1bef5a1..5f880a8809f9c20bc8e8c0b2d48590ba if (nbt.contains("leash", 11)) { Either either = (Either) NbtUtils.readBlockPos(nbt, "leash").map(Either::right).orElse(null); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index bd2df2a70e78b68b5eefd9c0b6fe14f9717fb1d7..c1c92bdbe133bd60cf2920a2195bbb15d0f94455 100644 +index 23c9ef6dd0bb73bcf6af0e9b581bad72abe8bf22..b5b156b9f7a4a0d43715fe82957864bebf1cceb2 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -909,11 +909,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -103,23 +103,25 @@ index bd2df2a70e78b68b5eefd9c0b6fe14f9717fb1d7..c1c92bdbe133bd60cf2920a2195bbb15 if (nbt.contains("Brain", 10)) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 8a0e65ac8318a467996f48b423db1ac621359fbe..aad63549d7c4f501b683b8dead4938eac27895eb 100644 +index 13064a73a9e3b45d32a098c4179cd980be508abc..8ac12520650501139d53f6db3ae1ee6417db7bb9 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -601,7 +601,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab - this.leashData = this.readLeashData(nbt); +@@ -609,9 +609,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab + this.readLeashData(nbt); this.setLeftHanded(nbt.getBoolean("LeftHanded")); if (nbt.contains("DeathLootTable", 8)) { - this.lootTable = Optional.of(ResourceKey.create(Registries.LOOT_TABLE, ResourceLocation.parse(nbt.getString("DeathLootTable")))); -+ this.lootTable = Optional.ofNullable(ResourceLocation.tryParse(nbt.getString("DeathLootTable"))).map((rs) -> ResourceKey.create(Registries.LOOT_TABLE, rs)); // Paper - Validate ResourceLocation - this.lootTableSeed = nbt.getLong("DeathLootTableSeed"); +- } else { +- this.lootTable = Optional.empty(); ++ this.lootTable = Optional.ofNullable(ResourceLocation.tryParse(nbt.getString("DeathLootTable"))).map((rs) -> ResourceKey.create(Registries.LOOT_TABLE, rs)); // Paper - Validate ResourceLocation } else { } + this.lootTableSeed = nbt.getLong("DeathLootTableSeed"); diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index c173c692e84eb5f2d2ed9873dc3411dbd575fcce..d43f7c44e4f7769654b92b130246822d68697f7d 100644 +index 0abe2fe6d7cf0a2084b7219c3ab0c5118586a8fe..9c781ad45fd0295cc8ffe5ba901dc7a59ece06f2 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -@@ -695,7 +695,7 @@ public abstract class AbstractArrow extends Projectile { +@@ -710,7 +710,7 @@ public abstract class AbstractArrow extends Projectile { this.setCritArrow(nbt.getBoolean("crit")); this.setPierceLevel(nbt.getByte("PierceLevel")); if (nbt.contains("SoundEvent", 8)) { @@ -142,10 +144,10 @@ index 874a44ab77248665c2db243764e8542bfc0d6514..cc7826a10f22e3307231d887db2fee98 if (this.getContainerLootTable() != null) { this.lootableData().loadNbt(nbt); diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index b1067a3add5dc0cfa853b02b5b556d6d67e2932a..15e0861486a2bda3e2f4049b1b5a299c870acd31 100644 +index 5fe0879efb35970e49d0654c4cb27195c6cc88a4..a9809c18233d82f910735e59363a49de488defcd 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -@@ -180,7 +180,11 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -178,7 +178,11 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit while (iterator.hasNext()) { String s = (String) iterator.next(); diff --git a/patches/unapplied/server/0908-Properly-handle-experience-dropping-on-block-break.patch b/patches/server/0906-Properly-handle-experience-dropping-on-block-break.patch similarity index 94% rename from patches/unapplied/server/0908-Properly-handle-experience-dropping-on-block-break.patch rename to patches/server/0906-Properly-handle-experience-dropping-on-block-break.patch index 5b45a7fb92..6c91059eb0 100644 --- a/patches/unapplied/server/0908-Properly-handle-experience-dropping-on-block-break.patch +++ b/patches/server/0906-Properly-handle-experience-dropping-on-block-break.patch @@ -7,10 +7,10 @@ This causes spawnAfterBreak to spawn xp by default, removing the need to manuall For classes that use custom xp amounts, they can drop the resources with disabling diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 18c011c1943867dbc4abee338b03b9be499876dd..01fbefdbed48ab85481c811cca532c91860626f7 100644 +index c6133407f515f53c9fa67b988d4758d8f3d89f23..bfedc52cf8f0416fa2aaf73f694122b9eed09a4e 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -615,7 +615,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -616,7 +616,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { if (drop) { BlockEntity tileentity = iblockdata.hasBlockEntity() ? this.getBlockEntity(pos) : null; @@ -21,7 +21,7 @@ index 18c011c1943867dbc4abee338b03b9be499876dd..01fbefdbed48ab85481c811cca532c91 boolean flag1 = this.setBlock(pos, fluid.createLegacyBlock(), 3, maxUpdateDepth); diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 4ff32e3fb1a1979827ef063cda196a43995440fe..dc242451f397ae6a30b830ef1f211f1a066423a4 100644 +index 0189ff670d84df375399c492467fd4d5c62eff09..537adbef6fdefde170c614aa465b94ff29dfe9f0 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -302,23 +302,31 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -68,10 +68,10 @@ index 4ff32e3fb1a1979827ef063cda196a43995440fe..dc242451f397ae6a30b830ef1f211f1a } diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 0665ca48fe2f8ab1ce1c0306b11be19b06445f74..1b988b92e80faa1ac224caf9f9e955ac43a4c45a 100644 +index 7e62dcef2902463c7f67aa20cdb78ea9cf4c44f6..cc5be3e8c673409226584328d3e78fccf4ccc2f5 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -@@ -1180,6 +1180,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -1184,6 +1184,7 @@ public abstract class BlockBehaviour implements FeatureElement { public void spawnAfterBreak(ServerLevel world, BlockPos pos, ItemStack tool, boolean dropExperience) { this.getBlock().spawnAfterBreak(this.asState(), world, pos, tool, dropExperience); diff --git a/patches/unapplied/server/0909-Fixup-NamespacedKey-handling.patch b/patches/server/0907-Fixup-NamespacedKey-handling.patch similarity index 100% rename from patches/unapplied/server/0909-Fixup-NamespacedKey-handling.patch rename to patches/server/0907-Fixup-NamespacedKey-handling.patch diff --git a/patches/unapplied/server/0910-Expose-LootTable-of-DecoratedPot.patch b/patches/server/0908-Expose-LootTable-of-DecoratedPot.patch similarity index 100% rename from patches/unapplied/server/0910-Expose-LootTable-of-DecoratedPot.patch rename to patches/server/0908-Expose-LootTable-of-DecoratedPot.patch diff --git a/patches/unapplied/server/0911-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/server/0909-Reduce-allocation-of-Vec3D-by-entity-tracker.patch similarity index 97% rename from patches/unapplied/server/0911-Reduce-allocation-of-Vec3D-by-entity-tracker.patch rename to patches/server/0909-Reduce-allocation-of-Vec3D-by-entity-tracker.patch index f47e4d5d90..2d8a23a3c4 100644 --- a/patches/unapplied/server/0911-Reduce-allocation-of-Vec3D-by-entity-tracker.patch +++ b/patches/server/0909-Reduce-allocation-of-Vec3D-by-entity-tracker.patch @@ -39,7 +39,7 @@ index 1c76e0d54320c3aa358159a1590d4701d4f18e9e..e9b585387f6cbc454e7b16feb36a256e // Paper start - Configurable entity tracking range by Y boolean flag = d1 <= d2; diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 7118e1f806af98159ec292f9340d7e4004e2b486..f3456aeeab7eee5b6d0383a4bf1338dd8cc95bb3 100644 +index 12d5af9dc6e5d5ed4ea427384226dc5d022550ba..ce3e359ed2b29674aa89a714ee1fb0875d83595d 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -178,7 +178,13 @@ public class ServerEntity { diff --git a/patches/unapplied/server/0912-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0910-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch similarity index 97% rename from patches/unapplied/server/0912-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch rename to patches/server/0910-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch index 4ed1121ea1..fe27657709 100644 --- a/patches/unapplied/server/0912-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch +++ b/patches/server/0910-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add PlayerTradeEvent and PlayerPurchaseEvent Co-authored-by: Alexander diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -index 39cb40b077e9c07471437d5bec16ba9a7e6bce52..5f656fc726a1dc5f42657095a2f2b7cf85b92d7c 100644 +index 5ea56c6048a356d84472ef0e744af41fe063ccc7..3c037cabd8331eb96a6523b37abab4e73ab79a02 100644 --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java @@ -141,11 +141,24 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa @@ -107,7 +107,7 @@ index 85caec29a705f216eff8a5ae11f250697891a05c..78d0ff45c016e900d87010e8b26b0bb1 break; } diff --git a/src/main/java/net/minecraft/world/inventory/MerchantMenu.java b/src/main/java/net/minecraft/world/inventory/MerchantMenu.java -index 90560dfad263d42432dc034a29930e6bab953b9a..6a529b5e289c416c0ebdc0260086ec039777aa40 100644 +index 5c1f2496f3d4123f6e69239820dd759db0af420e..54c43acb3c401a9b616f4d1b871d7c4d5660f455 100644 --- a/src/main/java/net/minecraft/world/inventory/MerchantMenu.java +++ b/src/main/java/net/minecraft/world/inventory/MerchantMenu.java @@ -123,12 +123,12 @@ public class MerchantMenu extends AbstractContainerMenu { @@ -196,7 +196,7 @@ index 26227033613a641a9d5a6f29356b19e54753b3f1..c2376538215604210d08acd33e8e5fdc this.slots.setItem(0, itemStack); this.slots.setItem(1, itemStack2); diff --git a/src/main/java/net/minecraft/world/item/trading/Merchant.java b/src/main/java/net/minecraft/world/item/trading/Merchant.java -index 5a350948a4735902f5c612592bc9d100445a0c8a..716b30dcd7e63c66736c448dd136c9f74dc7fe43 100644 +index 8666eb566797daa1fbb33775210e638bbcbc5e24..b67eadc1c3710ddf4e8ac6e184dd8c63d1fefeea 100644 --- a/src/main/java/net/minecraft/world/item/trading/Merchant.java +++ b/src/main/java/net/minecraft/world/item/trading/Merchant.java @@ -20,6 +20,7 @@ public interface Merchant { @@ -208,7 +208,7 @@ index 5a350948a4735902f5c612592bc9d100445a0c8a..716b30dcd7e63c66736c448dd136c9f7 void notifyTradeUpdated(ItemStack stack); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -index ef47eb9a321a7b082413d3986d3d394afb899610..54debe9da0a26aea02c964fdc7efb372e07974c0 100644 +index 06b3004fa4f3e89d6eb19d545afe548bfd565e06..d9f9d4abaec00335abe80de26419aef676b0b076 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java @@ -76,10 +76,25 @@ public class CraftMerchantCustom implements CraftMerchant { diff --git a/patches/unapplied/server/0913-Add-ShulkerDuplicateEvent.patch b/patches/server/0911-Add-ShulkerDuplicateEvent.patch similarity index 93% rename from patches/unapplied/server/0913-Add-ShulkerDuplicateEvent.patch rename to patches/server/0911-Add-ShulkerDuplicateEvent.patch index f06c91ae48..bba3132bf6 100644 --- a/patches/unapplied/server/0913-Add-ShulkerDuplicateEvent.patch +++ b/patches/server/0911-Add-ShulkerDuplicateEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add ShulkerDuplicateEvent diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 0fffa9dbcbbb15a2138f9a4e4d8e812c8047a7bb..6e0f2f6573ed6be9b91de960d55c269417ad8907 100644 +index 5e6b66a12af7618fd55b4e32577d718849008b19..64d99b8b576212f754bd316343562b1ba7f604fa 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -492,6 +492,11 @@ public class Shulker extends AbstractGolem implements VariantHolder this.handleCustomCommandSuggestions0(packet)); } -@@ -830,6 +837,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -828,6 +835,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void sendServerSuggestions(final ServerboundCommandSuggestionPacket packet, final StringReader stringreader) { // Paper end - AsyncTabCompleteEvent ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); diff --git a/patches/unapplied/server/0935-Item-Mutation-Fixes.patch b/patches/server/0933-Item-Mutation-Fixes.patch similarity index 90% rename from patches/unapplied/server/0935-Item-Mutation-Fixes.patch rename to patches/server/0933-Item-Mutation-Fixes.patch index f7242e591f..ad85291f0b 100644 --- a/patches/unapplied/server/0935-Item-Mutation-Fixes.patch +++ b/patches/server/0933-Item-Mutation-Fixes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Item Mutation Fixes diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -index 36496144dd6fa87163b692034570eba70c83678c..b7300052f3c3d496ea41b681a2d5d5b554e67c63 100644 +index e200df7fc90de06d420556711ac67fa94a40d1d2..d82c85ace445d139c1bb96d118060caaec6acffa 100644 --- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java +++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -@@ -220,7 +220,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { +@@ -219,7 +219,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { return false; } else if (this.costs[id] > 0 && !itemstack.isEmpty() && (player.experienceLevel >= j && player.experienceLevel >= this.costs[id] || player.getAbilities().instabuild)) { this.access.execute((world, blockposition) -> { @@ -17,7 +17,7 @@ index 36496144dd6fa87163b692034570eba70c83678c..b7300052f3c3d496ea41b681a2d5d5b5 List list = this.getEnchantmentList(world.registryAccess(), itemstack, id, this.costs[id]); // CraftBukkit start -@@ -243,10 +243,16 @@ public class EnchantmentMenu extends AbstractContainerMenu { +@@ -242,10 +242,16 @@ public class EnchantmentMenu extends AbstractContainerMenu { return; } // CraftBukkit end diff --git a/patches/unapplied/server/0936-Per-world-ticks-per-spawn-settings.patch b/patches/server/0934-Per-world-ticks-per-spawn-settings.patch similarity index 87% rename from patches/unapplied/server/0936-Per-world-ticks-per-spawn-settings.patch rename to patches/server/0934-Per-world-ticks-per-spawn-settings.patch index 2746e3483b..1f8b8b243b 100644 --- a/patches/unapplied/server/0936-Per-world-ticks-per-spawn-settings.patch +++ b/patches/server/0934-Per-world-ticks-per-spawn-settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Per world ticks per spawn settings diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 01fbefdbed48ab85481c811cca532c91860626f7..083b72ebacfbba22af2230fb69b311aeee62cb6a 100644 +index bfedc52cf8f0416fa2aaf73f694122b9eed09a4e..98198b6827bb71e53dfaf9d7796f592393d197b0 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -185,6 +185,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -186,6 +186,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return this.getChunkIfLoaded(chunkX, chunkZ) != null; } // Paper end - Use getChunkIfLoadedImmediately @@ -24,7 +24,7 @@ index 01fbefdbed48ab85481c811cca532c91860626f7..083b72ebacfbba22af2230fb69b311ae public abstract ResourceKey getTypeKey(); -@@ -198,7 +207,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -199,7 +208,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // CraftBukkit Ticks things for (SpawnCategory spawnCategory : SpawnCategory.values()) { if (CraftSpawnCategory.isValidForLimits(spawnCategory)) { diff --git a/patches/unapplied/server/0937-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/0935-Properly-track-the-changed-item-from-dispense-events.patch similarity index 98% rename from patches/unapplied/server/0937-Properly-track-the-changed-item-from-dispense-events.patch rename to patches/server/0935-Properly-track-the-changed-item-from-dispense-events.patch index 7b03ec7aef..06f8ab7f18 100644 --- a/patches/unapplied/server/0937-Properly-track-the-changed-item-from-dispense-events.patch +++ b/patches/server/0935-Properly-track-the-changed-item-from-dispense-events.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Properly track the changed item from dispense events diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 681c38f4457fc10806c10518b16159580c0f2619..8f9b86e50717746e55232293d9e5ac05b8616aa0 100644 +index e17436e07eaec76e766c94ecdffc8043fbe42340..9246ec011c7d94618c0aa73792d1bef8f447c88c 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -129,10 +129,14 @@ public interface DispenseItemBehavior { diff --git a/patches/unapplied/server/0938-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/0936-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch similarity index 95% rename from patches/unapplied/server/0938-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch rename to patches/server/0936-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch index 5c06384279..8533ebb3e0 100644 --- a/patches/unapplied/server/0938-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch +++ b/patches/server/0936-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch @@ -13,10 +13,10 @@ A config is provided if you rather let players use these exploits, and let them destroy the worlds End Portals and get on top of the nether easy. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 083b72ebacfbba22af2230fb69b311aeee62cb6a..ba4006bc7dc31d10f37023cba7995a9621796f73 100644 +index 98198b6827bb71e53dfaf9d7796f592393d197b0..db2a4ce54cf1df5c47a0907396deadad4a28dfc7 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -445,6 +445,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -446,6 +446,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public boolean setBlock(BlockPos pos, BlockState state, int flags, int maxUpdateDepth) { // CraftBukkit start - tree generation if (this.captureTreeGeneration) { @@ -28,7 +28,7 @@ index 083b72ebacfbba22af2230fb69b311aeee62cb6a..ba4006bc7dc31d10f37023cba7995a96 if (blockstate == null) { blockstate = CapturedBlockState.getTreeBlockState(this, pos, flags); diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java -index 86656de31b1e33381eddd3ef210122118b31e620..fd1ecedfab037e377e4dded61539689bacc90f80 100644 +index dfb7cb134d1f9bce3d8d17fbf50d9b3309f76078..b8ffe547ad29645b65c3df8bd6ccb7c20985711d 100644 --- a/src/main/java/net/minecraft/world/level/ServerExplosion.java +++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java @@ -150,6 +150,7 @@ public class ServerExplosion implements Explosion { @@ -40,7 +40,7 @@ index 86656de31b1e33381eddd3ef210122118b31e620..fd1ecedfab037e377e4dded61539689b if (!this.level.isInWorldBounds(blockposition)) { diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index dc242451f397ae6a30b830ef1f211f1a066423a4..0f7b73634930df02d7b0a7f44890597cc2e6deca 100644 +index 537adbef6fdefde170c614aa465b94ff29dfe9f0..1aa69f4a7005242925124c74b8229e6fa7362717 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -88,6 +88,21 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -108,7 +108,7 @@ index e841fccb8f298ef692677583b468869f56dc722c..4b51472502d08ea357da437afeb4b581 world.playSound((Player) null, pos, SoundEvents.PISTON_CONTRACT, SoundSource.BLOCKS, 0.5F, world.random.nextFloat() * 0.15F + 0.6F); diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 1b988b92e80faa1ac224caf9f9e955ac43a4c45a..95d30c2db7e291d65c24feb114b0f3598d280912 100644 +index cc5be3e8c673409226584328d3e78fccf4ccc2f5..b1101156b281d800f18b25208018722bbecded9f 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java @@ -178,7 +178,7 @@ public abstract class BlockBehaviour implements FeatureElement { @@ -129,7 +129,7 @@ index 1b988b92e80faa1ac224caf9f9e955ac43a4c45a..95d30c2db7e291d65c24feb114b0f359 } protected boolean canBeReplaced(BlockState state, Fluid fluid) { -@@ -945,6 +945,12 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -949,6 +949,12 @@ public abstract class BlockBehaviour implements FeatureElement { return this.legacySolid; } @@ -142,7 +142,7 @@ index 1b988b92e80faa1ac224caf9f9e955ac43a4c45a..95d30c2db7e291d65c24feb114b0f359 public boolean isValidSpawn(BlockGetter world, BlockPos pos, EntityType type) { return this.getBlock().properties.isValidSpawn.test(this.asState(), world, pos, type); } -@@ -1048,7 +1054,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -1052,7 +1058,7 @@ public abstract class BlockBehaviour implements FeatureElement { } public PushReaction getPistonPushReaction() { diff --git a/patches/unapplied/server/0939-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0937-Add-config-for-mobs-immune-to-default-effects.patch similarity index 88% rename from patches/unapplied/server/0939-Add-config-for-mobs-immune-to-default-effects.patch rename to patches/server/0937-Add-config-for-mobs-immune-to-default-effects.patch index c3b01a16ed..0cea399af3 100644 --- a/patches/unapplied/server/0939-Add-config-for-mobs-immune-to-default-effects.patch +++ b/patches/server/0937-Add-config-for-mobs-immune-to-default-effects.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add config for mobs immune to default effects diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index e1be143959fbaa1d54af2a1a2c27187d70e6a9e9..244e38db508efa3eebebb6392c4ebb0805367baf 100644 +index 9fac1c16356ab994462852aeb9c42bf32996bbde..bd9e10f79eaf0d23908229b3ebc2227946a14843 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -602,7 +602,7 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -601,7 +601,7 @@ public class WitherBoss extends Monster implements RangedAttackMob { @Override public boolean canBeAffected(MobEffectInstance effect) { @@ -31,10 +31,10 @@ index 72e42605c278028480c368762da18f61806d766a..91e521414c3ea5722aac7506b7589fbb public boolean isClimbing() { diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -index c295b604f438c62d589ab05ea44c85dbefcb258b..37d3acda84a984bf4f1c44b3d27e2102839d3e8e 100644 +index d2752d424ba13a956e45e82e8b5d1d61fe1f669d..557b4e225688416132281e9b1759d46a9b775ff9 100644 --- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -@@ -114,6 +114,6 @@ public class WitherSkeleton extends AbstractSkeleton { +@@ -127,6 +127,6 @@ public class WitherSkeleton extends AbstractSkeleton { @Override public boolean canBeAffected(MobEffectInstance effect) { diff --git a/patches/unapplied/server/0940-Deep-clone-nbt-tags-in-PDC.patch b/patches/server/0938-Deep-clone-nbt-tags-in-PDC.patch similarity index 91% rename from patches/unapplied/server/0940-Deep-clone-nbt-tags-in-PDC.patch rename to patches/server/0938-Deep-clone-nbt-tags-in-PDC.patch index ff94bd0591..2d822d6907 100644 --- a/patches/unapplied/server/0940-Deep-clone-nbt-tags-in-PDC.patch +++ b/patches/server/0938-Deep-clone-nbt-tags-in-PDC.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Deep clone nbt tags in PDC diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index bc6bdf4a12c83b7a0742f3202860f56f14afe4a3..da2b118afcfeb6de6e002bbbba9207769f07a72b 100644 +index f129d714c1a815f348669dc13a5cd4d360e8ed6a..42d25216cc9d3b931ffc7504ccecc109d57a32d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -372,7 +372,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -376,7 +376,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.maxDamage = meta.maxDamage; this.unhandledTags.copy(meta.unhandledTags.build()); this.removedTags.addAll(meta.removedTags); @@ -17,7 +17,7 @@ index bc6bdf4a12c83b7a0742f3202860f56f14afe4a3..da2b118afcfeb6de6e002bbbba920776 this.customTag = meta.customTag; -@@ -1966,7 +1966,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1987,7 +1987,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customTag = this.customTag.copy(); } clone.removedTags = Sets.newHashSet(this.removedTags); diff --git a/patches/unapplied/server/0941-Support-old-UUID-format-for-NBT.patch b/patches/server/0939-Support-old-UUID-format-for-NBT.patch similarity index 100% rename from patches/unapplied/server/0941-Support-old-UUID-format-for-NBT.patch rename to patches/server/0939-Support-old-UUID-format-for-NBT.patch diff --git a/patches/unapplied/server/0942-Fix-shield-disable-inconsistency.patch b/patches/server/0940-Fix-shield-disable-inconsistency.patch similarity index 87% rename from patches/unapplied/server/0942-Fix-shield-disable-inconsistency.patch rename to patches/server/0940-Fix-shield-disable-inconsistency.patch index 0c35d7cbf8..6d8f773b8b 100644 --- a/patches/unapplied/server/0942-Fix-shield-disable-inconsistency.patch +++ b/patches/server/0940-Fix-shield-disable-inconsistency.patch @@ -8,10 +8,10 @@ it will not disable the shield if the attacker is holding an axe item. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c1c92bdbe133bd60cf2920a2195bbb15d0f94455..d08eec460a67fbd0b2ed2e0dd6d557dc629f4dfe 100644 +index b5b156b9f7a4a0d43715fe82957864bebf1cceb2..c095e535039254d4d56fb7b1a7bc00cd4d0f3cda 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2425,7 +2425,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2436,7 +2436,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurtCurrentlyUsedShield((float) -event.getDamage(DamageModifier.BLOCKING)); Entity entity = damagesource.getDirectEntity(); diff --git a/patches/unapplied/server/0943-Handle-Large-Packets-disconnecting-client.patch b/patches/server/0941-Handle-Large-Packets-disconnecting-client.patch similarity index 98% rename from patches/unapplied/server/0943-Handle-Large-Packets-disconnecting-client.patch rename to patches/server/0941-Handle-Large-Packets-disconnecting-client.patch index 32e463a242..bb12ac74e3 100644 --- a/patches/unapplied/server/0943-Handle-Large-Packets-disconnecting-client.patch +++ b/patches/server/0941-Handle-Large-Packets-disconnecting-client.patch @@ -7,7 +7,7 @@ If a players inventory is too big to send in a single packet, split the inventory set into multiple packets instead. diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index a8dfe7a4b3d01bf75587be078f471d1ef1d7a667..ea16dfa718b526d6520d7fcfc21d28f972f1f2bf 100644 +index c12335bc83d31ec65fe2d7cbe0b084748e670010..b0413be1d8565df1c746102a6900806fe3d12373 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -176,6 +176,21 @@ public class Connection extends SimpleChannelInboundHandler> { diff --git a/patches/unapplied/server/0944-Fix-ItemFlags.patch b/patches/server/0942-Fix-ItemFlags.patch similarity index 93% rename from patches/unapplied/server/0944-Fix-ItemFlags.patch rename to patches/server/0942-Fix-ItemFlags.patch index fe97f1e169..abcf47b19c 100644 --- a/patches/unapplied/server/0944-Fix-ItemFlags.patch +++ b/patches/server/0942-Fix-ItemFlags.patch @@ -33,10 +33,10 @@ index 73fe41322e0349ad1d46a760f621b6c91112e90e..19af55ec2bf62b70bd3be44f499b32f5 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa7d6de7ca 100644 +index 42d25216cc9d3b931ffc7504ccecc109d57a32d0..b9ddf1c75d371258c6ccd39095160469e5b644f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -275,6 +275,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -277,6 +277,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { static final ItemMetaKeyType HIDE_ADDITIONAL_TOOLTIP = new ItemMetaKeyType(DataComponents.HIDE_ADDITIONAL_TOOLTIP); @Specific(Specific.To.NBT) static final ItemMetaKeyType CUSTOM_DATA = new ItemMetaKeyType<>(DataComponents.CUSTOM_DATA); @@ -49,7 +49,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa // We store the raw original JSON representation of all text data. See SPIGOT-5063, SPIGOT-5656, SPIGOT-5304 private Component displayName; -@@ -377,6 +383,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -381,6 +387,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.customTag = meta.customTag; this.version = meta.version; @@ -60,7 +60,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa } CraftMetaItem(DataComponentPatch tag) { -@@ -496,6 +506,20 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -500,6 +510,20 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.customTag = null; } }); @@ -81,7 +81,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa Set, Optional>> keys = tag.entrySet(); for (Map.Entry, Optional> key : keys) { -@@ -735,7 +759,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -741,7 +765,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { try { CompoundTag unhandledTag = NbtIo.readCompressed(buf, NbtAccounter.unlimitedHeap()); DataComponentPatch unhandledPatch = DataComponentPatch.CODEC.parse(MinecraftServer.getDefaultRegistryAccess().createSerializationContext(NbtOps.INSTANCE), unhandledTag).result().get(); @@ -98,7 +98,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa for (Entry, Optional> entry : unhandledPatch.entrySet()) { // Move removed unhandled tags to dedicated removedTags -@@ -1006,6 +1038,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1012,6 +1044,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { itemTag.put(CraftMetaItem.MAX_DAMAGE, this.maxDamage); } @@ -114,7 +114,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa for (Map.Entry, Optional> e : this.unhandledTags.build().entrySet()) { e.getValue().ifPresent((value) -> { itemTag.builder.set((DataComponentType) e.getKey(), value); -@@ -1096,7 +1137,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1102,7 +1143,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -123,7 +123,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa } // Paper start -@@ -1889,6 +1930,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1908,6 +1949,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hasJukeboxPlayable() ? that.hasJukeboxPlayable() && this.jukebox.equals(that.jukebox) : !that.hasJukeboxPlayable()) && (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage()) && (this.hasMaxDamage() ? that.hasMaxDamage() && this.maxDamage.equals(that.maxDamage) : !that.hasMaxDamage()) @@ -132,7 +132,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa && (this.version == that.version); } -@@ -1941,6 +1984,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1960,6 +2003,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (this.hasDamage() ? this.damage : 0); hash = 61 * hash + (this.hasMaxDamage() ? 1231 : 1237); hash = 61 * hash + (this.hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0); @@ -141,7 +141,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa hash = 61 * hash + this.version; return hash; } -@@ -1998,6 +2043,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2019,6 +2064,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.damage = this.damage; clone.maxDamage = this.maxDamage; clone.version = this.version; @@ -156,7 +156,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -2142,6 +2195,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2163,6 +2216,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -173,7 +173,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa if (!this.unhandledTags.isEmpty()) { net.minecraft.nbt.Tag unhandled = DataComponentPatch.CODEC.encodeStart(MinecraftServer.getDefaultRegistryAccess().createSerializationContext(NbtOps.INSTANCE), this.unhandledTags.build()).getOrThrow(IllegalStateException::new); try { -@@ -2152,6 +2215,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2173,6 +2236,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { Logger.getLogger(CraftMetaItem.class.getName()).log(Level.SEVERE, null, ex); } } @@ -188,7 +188,7 @@ index da2b118afcfeb6de6e002bbbba9207769f07a72b..52f62779fc57379232c31bcc03b870aa if (!this.removedTags.isEmpty()) { RegistryAccess registryAccess = CraftRegistry.getMinecraftRegistry(); -@@ -2312,6 +2383,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2333,6 +2404,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaItem.MAX_DAMAGE.TYPE, CraftMetaItem.CUSTOM_DATA.TYPE, CraftMetaItem.ATTRIBUTES.TYPE, diff --git a/patches/unapplied/server/0945-Fix-damage-modifier-inconsistencies.patch b/patches/server/0943-Fix-damage-modifier-inconsistencies.patch similarity index 100% rename from patches/unapplied/server/0945-Fix-damage-modifier-inconsistencies.patch rename to patches/server/0943-Fix-damage-modifier-inconsistencies.patch diff --git a/patches/unapplied/server/0946-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/server/0944-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch similarity index 93% rename from patches/unapplied/server/0946-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch rename to patches/server/0944-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch index 1c00cb4a33..5f2d311241 100644 --- a/patches/unapplied/server/0946-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch +++ b/patches/server/0944-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Revert to vanilla handling of LivingEntity#actuallyHurt diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index d08eec460a67fbd0b2ed2e0dd6d557dc629f4dfe..555d1b05ef6278567de598488b9486db965b8587 100644 +index c095e535039254d4d56fb7b1a7bc00cd4d0f3cda..86858ce769c6eea48a4e1c89f395350e962df069 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1455,7 +1455,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -33,7 +33,7 @@ index d08eec460a67fbd0b2ed2e0dd6d557dc629f4dfe..555d1b05ef6278567de598488b9486db this.lastHurt = amount; this.invulnerableTime = this.invulnerableDuration; // CraftBukkit - restore use of maxNoDamageTicks // this.actuallyHurt(worldserver, damagesource, f); -@@ -2487,12 +2489,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2498,12 +2500,12 @@ public abstract class LivingEntity extends Entity implements Attackable { return true; } else { @@ -49,7 +49,7 @@ index d08eec460a67fbd0b2ed2e0dd6d557dc629f4dfe..555d1b05ef6278567de598488b9486db public CombatTracker getCombatTracker() { diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index fc19bd326f00d1e8bd08ef6cc430c555337a6e3d..fb84ee1225cd762ef306d1fc3e1baed42c034a3c 100644 +index 4f23e32dd7b21492a6fcf7b8bd9b4d9d9a9297a3..c57fac6b5a17f39699298a58d9d25c12da929e64 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -388,7 +388,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder { this.power = fireworks.flightDuration(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 52f62779fc57379232c31bcc03b870aa7d6de7ca..38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4 100644 +index b9ddf1c75d371258c6ccd39095160469e5b644f2..2c0a61fd4fbfb07ed3d5d27509b3bc8b51cb0a76 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -389,7 +389,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -393,7 +393,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { // Paper end } @@ -468,7 +468,7 @@ index 52f62779fc57379232c31bcc03b870aa7d6de7ca..38e5e41bc68adc6786c0b5d0e1e0dc6e CraftMetaItem.getOrEmpty(tag, CraftMetaItem.NAME).ifPresent((component) -> { this.displayName = component; }); -@@ -521,9 +521,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -525,9 +525,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { }); // Paper end - fix ItemFlags @@ -486,7 +486,7 @@ index 52f62779fc57379232c31bcc03b870aa7d6de7ca..38e5e41bc68adc6786c0b5d0e1e0dc6e key.getValue().ifPresent((value) -> { this.unhandledTags.set((DataComponentType) key.getKey(), value); }); -@@ -2351,75 +2358,83 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2372,75 +2379,83 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.version = version; } diff --git a/patches/unapplied/server/0948-Expose-hasColor-to-leather-armor.patch b/patches/server/0946-Expose-hasColor-to-leather-armor.patch similarity index 100% rename from patches/unapplied/server/0948-Expose-hasColor-to-leather-armor.patch rename to patches/server/0946-Expose-hasColor-to-leather-armor.patch diff --git a/patches/unapplied/server/0949-Added-API-to-get-player-ha-proxy-address.patch b/patches/server/0947-Added-API-to-get-player-ha-proxy-address.patch similarity index 94% rename from patches/unapplied/server/0949-Added-API-to-get-player-ha-proxy-address.patch rename to patches/server/0947-Added-API-to-get-player-ha-proxy-address.patch index 37cf390989..f3ff104890 100644 --- a/patches/unapplied/server/0949-Added-API-to-get-player-ha-proxy-address.patch +++ b/patches/server/0947-Added-API-to-get-player-ha-proxy-address.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Added API to get player ha proxy address diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index ea16dfa718b526d6520d7fcfc21d28f972f1f2bf..4b9da6e2140b14f1e56056f5e9e94b2169d85501 100644 +index b0413be1d8565df1c746102a6900806fe3d12373..ba1078a0c4ae0fbb2e75a017aff5fe1a8f431099 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -153,6 +153,7 @@ public class Connection extends SimpleChannelInboundHandler> { @@ -35,7 +35,7 @@ index c62df32af11636ad408b584fcc590590ce4fb0d0..baed0bb80d44973f9323bbe536551182 } else { super.channelRead(ctx, msg); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 62ecf21905d247fdb7e23d1d383a39855bfa4d45..f694e79c21a8f84e48c8f46de8aebb0889b7c9f8 100644 +index 6ff46062d6ce6401acdbae8f087075788538802a..3901d53737a04f821c8569fa6b79ee4e624f8729 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -270,7 +270,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0950-General-ItemMeta-fixes.patch b/patches/server/0948-General-ItemMeta-fixes.patch similarity index 97% rename from patches/unapplied/server/0950-General-ItemMeta-fixes.patch rename to patches/server/0948-General-ItemMeta-fixes.patch index e3d7ff3836..e90a5f290e 100644 --- a/patches/unapplied/server/0950-General-ItemMeta-fixes.patch +++ b/patches/server/0948-General-ItemMeta-fixes.patch @@ -12,10 +12,10 @@ public net/minecraft/world/level/block/entity/BlockEntity saveId(Lnet/minecraft/ Co-authored-by: GhastCraftHD diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 98b5208baeaa12a5ff2788e457c542000d6ea48b..babd89f39c43b0c64709d99bf8aca6cdc6ca1b24 100644 +index fd5b6a94693bbbf14be39e63025ebd4c44530e2d..bc973b01fee365541866e386ee117f23cfe7cc3a 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -1361,6 +1361,11 @@ public final class ItemStack implements DataComponentHolder { +@@ -1379,6 +1379,11 @@ public final class ItemStack implements DataComponentHolder { public void setItem(Item item) { this.bukkitStack = null; // Paper this.item = item; @@ -28,10 +28,10 @@ index 98b5208baeaa12a5ff2788e457c542000d6ea48b..babd89f39c43b0c64709d99bf8aca6cd // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index 645a7ec0709cbd3c0cfbf75f7b8622a67515f74c..39fc5aa6ac8c66d8dd7437262124b61c4c138689 100644 +index 2356fd4bf4edb8a44312f772eeb8399b3a2fa216..92ae1dea58478cb17df8fa5d367bec5c63186ae3 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -@@ -147,6 +147,11 @@ public abstract class BlockEntity { +@@ -146,6 +146,11 @@ public abstract class BlockEntity { CompoundTag nbttagcompound = new CompoundTag(); this.saveAdditional(nbttagcompound, registries); @@ -1049,10 +1049,10 @@ index 566d893a413fd04b99e83dc2da8fe958a48492a8..a944803771d514572f94b4e98a6d4435 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a80993b5dea83 100644 +index 2c0a61fd4fbfb07ed3d5d27509b3bc8b51cb0a76..ecc68d2f80808c5f96f2de396e4057b481ab662f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -199,9 +199,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -201,9 +201,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -1065,7 +1065,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 Applicator put(ItemMetaKeyType key, T value) { this.builder.set(key.TYPE, value); -@@ -308,7 +309,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -310,7 +311,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private CraftToolComponent tool; private CraftEquippableComponent equippable; private CraftJukeboxComponent jukebox; @@ -1074,7 +1074,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 private Integer maxDamage; private static final Set HANDLED_TAGS = Sets.newHashSet(); -@@ -341,7 +342,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -345,7 +346,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.enchantments = new EnchantmentMap(meta.enchantments); // Paper } @@ -1083,7 +1083,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 this.attributeModifiers = LinkedHashMultimap.create(meta.attributeModifiers); } -@@ -390,6 +391,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -394,6 +395,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } CraftMetaItem(DataComponentPatch tag, Set> extraHandledTags) { // Paper - improve handled tags on type changes @@ -1095,7 +1095,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 CraftMetaItem.getOrEmpty(tag, CraftMetaItem.NAME).ifPresent((component) -> { this.displayName = component; }); -@@ -906,7 +912,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -912,7 +918,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { Map mods = SerializableMeta.getObject(Map.class, map, key.BUKKIT, true); Multimap result = LinkedHashMultimap.create(); if (mods == null) { @@ -1104,7 +1104,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 } for (Object obj : mods.keySet()) { -@@ -1037,7 +1043,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1043,7 +1049,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { itemTag.put(CraftMetaItem.JUKEBOX_PLAYABLE, this.jukebox.getHandle()); } @@ -1113,7 +1113,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 itemTag.put(CraftMetaItem.DAMAGE, this.damage); } -@@ -1087,7 +1093,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1093,7 +1099,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } void applyEnchantments(Map enchantments, CraftMetaItem.Applicator tag, ItemMetaKeyType key, ItemFlag itemFlag) { @@ -1122,7 +1122,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 return; } -@@ -1104,10 +1110,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1110,10 +1116,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } void applyModifiers(Multimap modifiers, CraftMetaItem.Applicator tag) { @@ -1135,7 +1135,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 return; } -@@ -1144,7 +1148,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1150,7 +1154,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -1144,7 +1144,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 } // Paper start -@@ -1240,6 +1244,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1246,6 +1250,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public void lore(final List lore) { @@ -1152,7 +1152,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 this.lore = lore != null ? io.papermc.paper.adventure.PaperAdventure.asVanilla(lore) : null; } // Paper end -@@ -1298,7 +1303,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1304,7 +1309,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public void removeEnchantments() { if (this.hasEnchants()) { @@ -1161,7 +1161,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 } } -@@ -1364,6 +1369,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1370,6 +1375,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { // Paper end @Override public void setLore(List lore) { @@ -1169,7 +1169,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 if (lore == null || lore.isEmpty()) { this.lore = null; } else { -@@ -1379,6 +1385,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1385,6 +1391,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { // Paper start @Override public void setLoreComponents(List lore) { @@ -1177,7 +1177,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 if (lore == null) { this.lore = null; } else { -@@ -1420,6 +1427,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1439,6 +1446,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public void setEnchantable(Integer data) { @@ -1185,7 +1185,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 this.enchantableValue = data; } -@@ -1596,6 +1604,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1615,6 +1623,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public void setUseRemainder(ItemStack useRemainder) { @@ -1193,7 +1193,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 this.useRemainder = useRemainder; } -@@ -1692,7 +1701,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1711,7 +1720,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Multimap getAttributeModifiers(@Nullable EquipmentSlot slot) { @@ -1202,7 +1202,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 SetMultimap result = LinkedHashMultimap.create(); for (Map.Entry entry : this.attributeModifiers.entries()) { if (entry.getValue().getSlot() == null || entry.getValue().getSlot() == slot) { -@@ -1705,6 +1714,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1724,6 +1733,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Collection getAttributeModifiers(@Nonnull Attribute attribute) { Preconditions.checkNotNull(attribute, "Attribute cannot be null"); @@ -1210,7 +1210,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 return this.attributeModifiers.containsKey(attribute) ? ImmutableList.copyOf(this.attributeModifiers.get(attribute)) : null; } -@@ -1712,22 +1722,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1731,22 +1741,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { public boolean addAttributeModifier(@Nonnull Attribute attribute, @Nonnull AttributeModifier modifier) { Preconditions.checkNotNull(attribute, "Attribute cannot be null"); Preconditions.checkNotNull(modifier, "AttributeModifier cannot be null"); @@ -1248,7 +1248,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 Iterator> iterator = attributeModifiers.entries().iterator(); while (iterator.hasNext()) { -@@ -1737,6 +1758,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1756,6 +1777,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { iterator.remove(); continue; } @@ -1256,7 +1256,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 this.attributeModifiers.put(next.getKey(), next.getValue()); } } -@@ -1744,13 +1766,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1763,13 +1785,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public boolean removeAttributeModifier(@Nonnull Attribute attribute) { Preconditions.checkNotNull(attribute, "Attribute cannot be null"); @@ -1272,7 +1272,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 int removed = 0; Iterator> iter = this.attributeModifiers.entries().iterator(); -@@ -1770,7 +1792,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1789,7 +1811,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { public boolean removeAttributeModifier(@Nonnull Attribute attribute, @Nonnull AttributeModifier modifier) { Preconditions.checkNotNull(attribute, "Attribute cannot be null"); Preconditions.checkNotNull(modifier, "AttributeModifier cannot be null"); @@ -1281,7 +1281,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 int removed = 0; Iterator> iter = this.attributeModifiers.entries().iterator(); -@@ -1792,7 +1814,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1811,7 +1833,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public String getAsString() { @@ -1290,7 +1290,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 this.applyToItem(tag); DataComponentPatch patch = tag.build(); net.minecraft.nbt.Tag nbt = DataComponentPatch.CODEC.encodeStart(MinecraftServer.getDefaultRegistryAccess().createSerializationContext(NbtOps.INSTANCE), patch).getOrThrow(); -@@ -1801,7 +1823,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1820,7 +1842,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public String getAsComponentString() { @@ -1299,7 +1299,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 this.applyToItem(tag); DataComponentPatch patch = tag.build(); -@@ -1841,6 +1863,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1860,6 +1882,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (first == null || second == null) { return false; } @@ -1307,7 +1307,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 for (Map.Entry entry : first.entries()) { if (!second.containsEntry(entry.getKey(), entry.getValue())) { return false; -@@ -1856,19 +1879,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1875,19 +1898,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public boolean hasDamage() { @@ -1343,7 +1343,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 @Override public boolean hasMaxDamage() { return this.maxDamage != null; -@@ -1882,6 +1919,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1901,6 +1938,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public void setMaxDamage(Integer maxDamage) { @@ -1351,7 +1351,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 this.maxDamage = maxDamage; } -@@ -1914,7 +1952,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1933,7 +1971,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hasEnchantable() ? that.hasEnchantable() && this.enchantableValue.equals(that.enchantableValue) : !that.hasEnchantable()) && (this.hasBlockData() ? that.hasBlockData() && this.blockData.equals(that.blockData) : !that.hasBlockData()) && (this.hasRepairCost() ? that.hasRepairCost() && this.repairCost == that.repairCost : !that.hasRepairCost()) @@ -1360,7 +1360,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 && (this.unhandledTags.equals(that.unhandledTags)) && (this.removedTags.equals(that.removedTags)) && (Objects.equals(this.customTag, that.customTag)) -@@ -1935,7 +1973,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1954,7 +1992,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hasTool() ? that.hasTool() && this.tool.equals(that.tool) : !that.hasTool()) && (this.hasEquippable() ? that.hasEquippable() && this.equippable.equals(that.equippable) : !that.hasEquippable()) && (this.hasJukeboxPlayable() ? that.hasJukeboxPlayable() && this.jukebox.equals(that.jukebox) : !that.hasJukeboxPlayable()) @@ -1369,7 +1369,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 && (this.hasMaxDamage() ? that.hasMaxDamage() && this.maxDamage.equals(that.maxDamage) : !that.hasMaxDamage()) && (this.canPlaceOnPredicates != null ? that.canPlaceOnPredicates != null && this.canPlaceOnPredicates.equals(that.canPlaceOnPredicates) : that.canPlaceOnPredicates == null) // Paper && (this.canBreakPredicates != null ? that.canBreakPredicates != null && this.canBreakPredicates.equals(that.canBreakPredicates) : that.canBreakPredicates == null) // Paper -@@ -1988,9 +2026,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2007,9 +2045,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (this.hasTool() ? this.tool.hashCode() : 0); hash = 61 * hash + (this.hasJukeboxPlayable() ? this.jukebox.hashCode() : 0); hash = 61 * hash + (this.hasEquippable() ? this.equippable.hashCode() : 0); @@ -1382,7 +1382,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 hash = 61 * hash + (this.canPlaceOnPredicates != null ? this.canPlaceOnPredicates.hashCode() : 0); // Paper hash = 61 * hash + (this.canBreakPredicates != null ? this.canBreakPredicates.hashCode() : 0); // Paper hash = 61 * hash + this.version; -@@ -2011,7 +2049,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2032,7 +2070,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.enchantments != null) { clone.enchantments = new EnchantmentMap(this.enchantments); // Paper } @@ -1391,7 +1391,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); } if (this.customTag != null) { -@@ -2178,7 +2216,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2199,7 +2237,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { builder.put(CraftMetaItem.JUKEBOX_PLAYABLE.BUKKIT, this.jukebox); } @@ -1400,7 +1400,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 builder.put(CraftMetaItem.DAMAGE.BUKKIT, this.damage); } -@@ -2279,7 +2317,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2300,7 +2338,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } static void serializeModifiers(Multimap modifiers, ImmutableMap.Builder builder, ItemMetaKey key) { @@ -1409,7 +1409,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 return; } -@@ -2361,7 +2399,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2382,7 +2420,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { // Paper start - improve checking handled tags @org.jetbrains.annotations.VisibleForTesting public static final Map, Set>> HANDLED_DCTS_PER_TYPE = new HashMap<>(); @@ -1418,7 +1418,7 @@ index 38e5e41bc68adc6786c0b5d0e1e0dc6e99a877c4..ca7ca4e5bd617cbcdaae1718b10a8099 CraftMetaItem.NAME.TYPE, CraftMetaItem.ITEM_NAME.TYPE, CraftMetaItem.LORE.TYPE, -@@ -2437,7 +2475,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2458,7 +2496,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { // Paper end - improve checking handled data component types protected static Optional getOrEmpty(DataComponentPatch tag, ItemMetaKeyType type) { @@ -2026,12 +2026,12 @@ index 17705059b81942e4df43a4a5180092e09c985ade..80e6b85a107d5236edba99540cb5074e } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/SerializableMeta.java b/src/main/java/org/bukkit/craftbukkit/inventory/SerializableMeta.java -index e00b757d6059715e8697428008fcb3e6e7abbe2e..dcf02bd0f7f4c67f5ab98003cc932b960704eef1 100644 +index 7c07ce8af54c367f7ba1b20a06d0879df6c46d54..1fc7af0f8e32bc7c07e187241d78220e8b017945 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/SerializableMeta.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/SerializableMeta.java -@@ -136,4 +136,21 @@ public final class SerializableMeta implements ConfigurationSerializable { - } - throw new IllegalArgumentException(field + "(" + object + ") is not a valid " + clazz); +@@ -173,4 +173,21 @@ public final class SerializableMeta implements ConfigurationSerializable { + + return result; } + + // Paper start - General ItemMeta Fixes @@ -2052,17 +2052,17 @@ index e00b757d6059715e8697428008fcb3e6e7abbe2e..dcf02bd0f7f4c67f5ab98003cc932b96 + // Paper end - General ItemMeta Fixes } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftEquippableComponent.java b/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftEquippableComponent.java -index 1f1589bcdb9e3abde7d25eac65326df1e7ed75ab..9b4c2502e45af4e7a58ff352f0f99c34d233f755 100644 +index eaa7c3b4988bd2b2c76dc32b44a087d88089074b..c3bfd621fdf00d400c1600a294262df60b0cd6a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftEquippableComponent.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftEquippableComponent.java -@@ -170,7 +170,7 @@ public final class CraftEquippableComponent implements EquippableComponent { +@@ -172,7 +172,7 @@ public final class CraftEquippableComponent implements EquippableComponent { @Override public void setAllowedEntities(Tag tag) { - Preconditions.checkArgument(tag instanceof CraftEntityTag, "tag must be an entity tag"); + Preconditions.checkArgument(tag == null || tag instanceof CraftEntityTag, "tag must be an entity tag"); // Paper - this.handle = new Equippable(this.handle.slot(), this.handle.equipSound(), this.handle.model(), this.handle.cameraOverlay(), + this.handle = new Equippable(this.handle.slot(), this.handle.equipSound(), this.handle.assetId(), this.handle.cameraOverlay(), (tag != null) ? Optional.of(((CraftEntityTag) tag).getHandle()) : Optional.empty(), diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftToolComponent.java b/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftToolComponent.java index 9a4a1d903c22e9d2a0cbda95ceb8b1dcfb29112e..4f7914f96207feda67cd910213bb624df4802a06 100644 diff --git a/patches/unapplied/server/0951-More-Chest-Block-API.patch b/patches/server/0949-More-Chest-Block-API.patch similarity index 96% rename from patches/unapplied/server/0951-More-Chest-Block-API.patch rename to patches/server/0949-More-Chest-Block-API.patch index d7c00f61e1..5f4d4bb730 100644 --- a/patches/unapplied/server/0951-More-Chest-Block-API.patch +++ b/patches/server/0949-More-Chest-Block-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] More Chest Block API public net.minecraft.world.level.block.ChestBlock isBlockedChestByBlock(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Z diff --git a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java -index b376f7d3b632d6aaea5c4d93382238074559d56a..ef0d469176ee74b6bb5f9e9cc508735145fda5b8 100644 +index fba3113a57d718e0a49366b07df74ee056430b37..d3b4965bb0a067dccdb2d83ec0947de24dfb5145 100644 --- a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java -@@ -83,7 +83,7 @@ public class EnderChestBlock extends AbstractChestBlock i +@@ -78,7 +78,7 @@ public class EnderChestBlock extends AbstractChestBlock i PlayerEnderChestContainer playerEnderChestContainer = player.getEnderChestInventory(); if (playerEnderChestContainer != null && world.getBlockEntity(pos) instanceof EnderChestBlockEntity enderChestBlockEntity) { BlockPos blockPos = pos.above(); diff --git a/patches/unapplied/server/0952-Print-data-component-type-on-encoding-error.patch b/patches/server/0950-Print-data-component-type-on-encoding-error.patch similarity index 100% rename from patches/unapplied/server/0952-Print-data-component-type-on-encoding-error.patch rename to patches/server/0950-Print-data-component-type-on-encoding-error.patch diff --git a/patches/unapplied/server/0953-Brigadier-based-command-API.patch b/patches/server/0951-Brigadier-based-command-API.patch similarity index 99% rename from patches/unapplied/server/0953-Brigadier-based-command-API.patch rename to patches/server/0951-Brigadier-based-command-API.patch index 0d56637cc8..38dd07146a 100644 --- a/patches/unapplied/server/0953-Brigadier-based-command-API.patch +++ b/patches/server/0951-Brigadier-based-command-API.patch @@ -2218,7 +2218,7 @@ index 55484826fc5ddd04ae024e25a0251796d7fa9c28..237e4f7b24908e9ade9a483eb7ae05fa Component component = message.resolveComponent(commandSourceStack); CommandSigningContext commandSigningContext = commandSourceStack.getSigningContext(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9c1e1c049db55e73851e3d513cba25027bd0c3b4..ab1a2c4272c4c84743ff501bb35816d35c9d4c94 100644 +index 60883d019ceef9e2430e9416c8b321165bba4fe6..c7f84fac5929046d06c38a7624c497dbcda2ff37 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -316,7 +316,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop toNMSOptional(RecipeChoice bukkit, boolean requireNotEmpty) { @@ -30,7 +30,7 @@ index a30950287646524c4906574d193ec7ce94b4eb34..3592091c6d1371224e82e1f95b003951 } default Ingredient toNMS(RecipeChoice bukkit, boolean requireNotEmpty) { -@@ -38,6 +38,13 @@ public interface CraftRecipe extends Recipe { +@@ -36,6 +36,13 @@ public interface CraftRecipe extends Recipe { stack = Ingredient.of(((RecipeChoice.MaterialChoice) bukkit).getChoices().stream().map((mat) -> CraftItemType.bukkitToMinecraft(mat))); } else if (bukkit instanceof RecipeChoice.ExactChoice) { stack = Ingredient.ofStacks(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> CraftItemStack.asNMSCopy(mat)).toList()); @@ -44,7 +44,7 @@ index a30950287646524c4906574d193ec7ce94b4eb34..3592091c6d1371224e82e1f95b003951 } else { throw new IllegalArgumentException("Unknown recipe stack instance " + bukkit); } -@@ -51,14 +58,14 @@ public interface CraftRecipe extends Recipe { +@@ -48,12 +55,12 @@ public interface CraftRecipe extends Recipe { } public static RecipeChoice toBukkit(Optional list) { @@ -53,9 +53,7 @@ index a30950287646524c4906574d193ec7ce94b4eb34..3592091c6d1371224e82e1f95b003951 } public static RecipeChoice toBukkit(Ingredient list) { - List> items = list.items(); - - if (items.isEmpty()) { + if (list.isEmpty()) { - return null; + return RecipeChoice.empty(); // Paper - null breaks API contracts } diff --git a/patches/unapplied/server/0955-Fix-equipment-slot-and-group-API.patch b/patches/server/0953-Fix-equipment-slot-and-group-API.patch similarity index 95% rename from patches/unapplied/server/0955-Fix-equipment-slot-and-group-API.patch rename to patches/server/0953-Fix-equipment-slot-and-group-API.patch index 8570ede687..c6071fc694 100644 --- a/patches/unapplied/server/0955-Fix-equipment-slot-and-group-API.patch +++ b/patches/server/0953-Fix-equipment-slot-and-group-API.patch @@ -10,7 +10,7 @@ Adds the following: Co-authored-by: SoSeDiK diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a62d17b72c675120b447e625cb3dc437681bdf20..f16067b674118a47735ad22797988d50b4415040 100644 +index c8422ceecc7ba3cb2e28616949790bf44cef7213..db0253c545bd06f872dd8b7b105fe4398980b173 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1230,4 +1230,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -52,10 +52,10 @@ index e62baea16df017f1e394e3c706157e158066eb93..656c9a6d8cd42891141ee29ec91ab5d1 throw new IllegalArgumentException("Could not get slot " + slot + " - not a valid slot for PlayerInventory"); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index ca7ca4e5bd617cbcdaae1718b10a80993b5dea83..3a4b88122fff891632a5dfc7787365eb22d33edb 100644 +index ecc68d2f80808c5f96f2de396e4057b481ab662f..cf4001d81a506620083dc6398e5a2eee1c97bf4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1704,7 +1704,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1723,7 +1723,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.attributeModifiers == null) return LinkedHashMultimap.create(); // Paper - don't change the components SetMultimap result = LinkedHashMultimap.create(); for (Map.Entry entry : this.attributeModifiers.entries()) { @@ -64,7 +64,7 @@ index ca7ca4e5bd617cbcdaae1718b10a80993b5dea83..3a4b88122fff891632a5dfc7787365eb result.put(entry.getKey(), entry.getValue()); } } -@@ -1778,9 +1778,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1797,9 +1797,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { while (iter.hasNext()) { Map.Entry entry = iter.next(); diff --git a/patches/unapplied/server/0956-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/server/0954-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch similarity index 100% rename from patches/unapplied/server/0956-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch rename to patches/server/0954-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch diff --git a/patches/unapplied/server/0957-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0955-Prevent-sending-oversized-item-data-in-equipment-and.patch similarity index 93% rename from patches/unapplied/server/0957-Prevent-sending-oversized-item-data-in-equipment-and.patch rename to patches/server/0955-Prevent-sending-oversized-item-data-in-equipment-and.patch index 75e7f6ee9d..caea64c408 100644 --- a/patches/unapplied/server/0957-Prevent-sending-oversized-item-data-in-equipment-and.patch +++ b/patches/server/0955-Prevent-sending-oversized-item-data-in-equipment-and.patch @@ -196,7 +196,7 @@ index e46030178b3b54168a3532def308a08b10888723..830bd76916e26a3a54954d3cf7b7520a @Override diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index f3456aeeab7eee5b6d0383a4bf1338dd8cc95bb3..b2fd3e936559c8fcb8b02ae3ef63c4f3bd0edb08 100644 +index ce3e359ed2b29674aa89a714ee1fb0875d83595d..d5bc702f2676b1b7a32c8f3a4a349fc2710ee825 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -388,7 +388,7 @@ public class ServerEntity { @@ -209,23 +209,23 @@ index f3456aeeab7eee5b6d0383a4bf1338dd8cc95bb3..b2fd3e936559c8fcb8b02ae3ef63c4f3 ((LivingEntity) this.entity).detectEquipmentUpdatesPublic(); // CraftBukkit - SPIGOT-3789: sync again immediately after sending } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 688916c8fef40d4c81379ad38609a97993b4b702..6cf3b28749d92b4e33e2f88c6335c9a663edd534 100644 +index f82e9cf04d9c77d00579c5e0a6ed84ab4b53ad3d..716791478713f4eb15c9f7fa95d6d95c91203268 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2752,7 +2752,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - entity.refreshEntityData(ServerGamePacketListenerImpl.this.player); - // SPIGOT-7136 - Allays +@@ -2817,7 +2817,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + entity.refreshEntityData(ServerGamePacketListenerImpl.this.player); + // SPIGOT-7136 - Allays if (entity instanceof Allay || entity instanceof net.minecraft.world.entity.animal.horse.AbstractHorse) { // Paper - Fix horse armor desync -- ServerGamePacketListenerImpl.this.send(new ClientboundSetEquipmentPacket(entity.getId(), Arrays.stream(net.minecraft.world.entity.EquipmentSlot.values()).map((slot) -> Pair.of(slot, ((LivingEntity) entity).getItemBySlot(slot).copy())).collect(Collectors.toList()))); +- ServerGamePacketListenerImpl.this.send(new ClientboundSetEquipmentPacket(entity.getId(), Arrays.stream(net.minecraft.world.entity.EquipmentSlot.values()).map((slot) -> Pair.of(slot, ((LivingEntity) entity).getItemBySlot(slot).copy())).collect(Collectors.toList()))); + ServerGamePacketListenerImpl.this.send(new ClientboundSetEquipmentPacket(entity.getId(), Arrays.stream(net.minecraft.world.entity.EquipmentSlot.values()).map((slot) -> Pair.of(slot, ((LivingEntity) entity).getItemBySlot(slot).copy())).collect(Collectors.toList()), true)); // Paper - sanitize - } + } ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); // Paper - fix slot desync - always refresh player inventory diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 555d1b05ef6278567de598488b9486db965b8587..e33130ca8f3d2572018dd782b366af2989a95fd6 100644 +index 86858ce769c6eea48a4e1c89f395350e962df069..be8db026f1a84ddc9c43be3c4aa84b09581c5401 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3461,7 +3461,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3472,7 +3472,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } }); diff --git a/patches/unapplied/server/0958-Prevent-NPE-if-hooked-entity-was-cleared.patch b/patches/server/0956-Prevent-NPE-if-hooked-entity-was-cleared.patch similarity index 94% rename from patches/unapplied/server/0958-Prevent-NPE-if-hooked-entity-was-cleared.patch rename to patches/server/0956-Prevent-NPE-if-hooked-entity-was-cleared.patch index f51092a291..46c3f04628 100644 --- a/patches/unapplied/server/0958-Prevent-NPE-if-hooked-entity-was-cleared.patch +++ b/patches/server/0956-Prevent-NPE-if-hooked-entity-was-cleared.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent NPE if hooked entity was cleared diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index 5b49b11d2d88b33731df582b119ef7a680d862e9..762deff3bef8ec478d83139e8193aba35e39807d 100644 +index dcf60d2499957d4803e4b395603da45e81076095..8ff379088d94ddfd8a3c03f090eaaf8ea9438bee 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java @@ -509,11 +509,13 @@ public class FishingHook extends Projectile { diff --git a/patches/unapplied/server/0959-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch b/patches/server/0957-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch similarity index 81% rename from patches/unapplied/server/0959-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch rename to patches/server/0957-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch index 4b06a0c06a..43e4372099 100644 --- a/patches/unapplied/server/0959-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch +++ b/patches/server/0957-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Fix cancelling BlockPlaceEvent calling onRemove diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index babd89f39c43b0c64709d99bf8aca6cdc6ca1b24..947e2a3620d73569552c5185664b7564e908007e 100644 +index bc973b01fee365541866e386ee117f23cfe7cc3a..43b58877152ff7746591986158ba78bc46fc8b3e 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -500,9 +500,11 @@ public final class ItemStack implements DataComponentHolder { - world.capturedTileEntities.clear(); // Paper - Allow chests to be placed with NBT data; clear out block entities as chests and such will pop loot +@@ -505,9 +505,11 @@ public final class ItemStack implements DataComponentHolder { + world.capturedTileEntities.clear(); // Paper - Allow chests to be placed with NBT data; clear out block entities as chests and such will pop loot // revert back all captured blocks world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710 + world.isBlockPlaceCancelled = true; // Paper - prevent calling cleanup logic when undoing a block place upon a cancelled BlockPlaceEvent @@ -21,10 +21,10 @@ index babd89f39c43b0c64709d99bf8aca6cdc6ca1b24..947e2a3620d73569552c5185664b7564 // Brute force all possible updates diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index ba4006bc7dc31d10f37023cba7995a9621796f73..96f18fa8fb5eb856a95e94a42504c00046eb491a 100644 +index db2a4ce54cf1df5c47a0907396deadad4a28dfc7..68f515dcc45306ac2751b1ef49fb4946f9e785db 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -152,6 +152,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -153,6 +153,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public boolean preventPoiUpdated = false; // CraftBukkit - SPIGOT-5710 public boolean captureBlockStates = false; public boolean captureTreeGeneration = false; @@ -33,10 +33,10 @@ index ba4006bc7dc31d10f37023cba7995a9621796f73..96f18fa8fb5eb856a95e94a42504c000 public Map capturedTileEntities = new java.util.LinkedHashMap<>(); // Paper - Retain block place order when capturing blockstates public List captureDrops; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 7a794bb0587ce55b067c67dd17ab5be6a4773030..56227ce823ab2997e2602f0807bbd54e54454344 100644 +index e431c66d4cb63ac9654c2575ed23d65e82a0d849..5a14d0aa18026b0b5d3e3caffebc6981b1125309 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -369,7 +369,7 @@ public class LevelChunk extends ChunkAccess { +@@ -374,7 +374,7 @@ public class LevelChunk extends ChunkAccess { boolean flag3 = iblockdata1.hasBlockEntity(); diff --git a/patches/unapplied/server/0960-Add-missing-fishing-event-state.patch b/patches/server/0958-Add-missing-fishing-event-state.patch similarity index 94% rename from patches/unapplied/server/0960-Add-missing-fishing-event-state.patch rename to patches/server/0958-Add-missing-fishing-event-state.patch index 5bc1574135..02db45e2f8 100644 --- a/patches/unapplied/server/0960-Add-missing-fishing-event-state.patch +++ b/patches/server/0958-Add-missing-fishing-event-state.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add missing fishing event state diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index 762deff3bef8ec478d83139e8193aba35e39807d..4daa69c6be6d48563e30343a7e40e4da9ec7e5ad 100644 +index 8ff379088d94ddfd8a3c03f090eaaf8ea9438bee..5e6ceb3c3728c0c08a516566c70a5c0d72d59196 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java @@ -416,6 +416,15 @@ public class FishingHook extends Projectile { diff --git a/patches/unapplied/server/0961-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/server/0959-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch similarity index 92% rename from patches/unapplied/server/0961-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch rename to patches/server/0959-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch index 8a27d911c5..ce637ea18e 100644 --- a/patches/unapplied/server/0961-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch +++ b/patches/server/0959-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate InvAction#HOTBAR_MOVE_AND_READD diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6cf3b28749d92b4e33e2f88c6335c9a663edd534..da719576b2c7e992b74266c7fbe5c9728d238dcf 100644 +index 716791478713f4eb15c9f7fa95d6d95c91203268..ce968a5f2596e88627baf810b294fc03ccbcca8f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3023,14 +3023,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3089,14 +3089,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl Slot clickedSlot = this.player.containerMenu.getSlot(packet.getSlotNum()); if (clickedSlot.mayPickup(this.player)) { ItemStack hotbar = this.player.getInventory().getItem(packet.getButtonNum()); diff --git a/patches/unapplied/server/0962-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch b/patches/server/0960-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch similarity index 94% rename from patches/unapplied/server/0962-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch rename to patches/server/0960-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch index 1abf467e7e..ad15cb7b28 100644 --- a/patches/unapplied/server/0962-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch +++ b/patches/server/0960-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix sending disconnect packet in phases where it doesn't diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 4b9da6e2140b14f1e56056f5e9e94b2169d85501..55848fa832d0f4d2d03f99df51e10c5fdfcd2ded 100644 +index ba1078a0c4ae0fbb2e75a017aff5fe1a8f431099..f454df4ea912a127b3a2483ff19e697fb419630e 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -218,7 +218,8 @@ public class Connection extends SimpleChannelInboundHandler> { diff --git a/patches/unapplied/server/0963-Adopt-MaterialRerouting.patch b/patches/server/0961-Adopt-MaterialRerouting.patch similarity index 100% rename from patches/unapplied/server/0963-Adopt-MaterialRerouting.patch rename to patches/server/0961-Adopt-MaterialRerouting.patch diff --git a/patches/unapplied/server/0964-Suspicious-Effect-Entry-API.patch b/patches/server/0962-Suspicious-Effect-Entry-API.patch similarity index 100% rename from patches/unapplied/server/0964-Suspicious-Effect-Entry-API.patch rename to patches/server/0962-Suspicious-Effect-Entry-API.patch diff --git a/patches/unapplied/server/0965-check-if-itemstack-is-stackable-first.patch b/patches/server/0963-check-if-itemstack-is-stackable-first.patch similarity index 92% rename from patches/unapplied/server/0965-check-if-itemstack-is-stackable-first.patch rename to patches/server/0963-check-if-itemstack-is-stackable-first.patch index a7ddd8df5b..4dbe6283a7 100644 --- a/patches/unapplied/server/0965-check-if-itemstack-is-stackable-first.patch +++ b/patches/server/0963-check-if-itemstack-is-stackable-first.patch @@ -5,7 +5,7 @@ Subject: [PATCH] check if itemstack is stackable first diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java -index aaff1592876ac4a967e4fd47e4b6619a17d57867..ad82e5aeb565b23c3ec565fa60e1f31d1710bd4e 100644 +index 39e536d5a9a6fb2cb7654bba8828bdb2c49425dd..36ba57e95b84f3d598bf4be624d6c88b05a6f9a6 100644 --- a/src/main/java/net/minecraft/world/entity/player/Inventory.java +++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java @@ -110,7 +110,7 @@ public class Inventory implements Container, Nameable { diff --git a/patches/unapplied/server/0966-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0964-Fix-removing-recipes-from-RecipeIterator.patch similarity index 100% rename from patches/unapplied/server/0966-Fix-removing-recipes-from-RecipeIterator.patch rename to patches/server/0964-Fix-removing-recipes-from-RecipeIterator.patch diff --git a/patches/unapplied/server/0967-Configurable-damage-tick-when-blocking-with-shield.patch b/patches/server/0965-Configurable-damage-tick-when-blocking-with-shield.patch similarity index 88% rename from patches/unapplied/server/0967-Configurable-damage-tick-when-blocking-with-shield.patch rename to patches/server/0965-Configurable-damage-tick-when-blocking-with-shield.patch index 0c5196e832..2b83cd017c 100644 --- a/patches/unapplied/server/0967-Configurable-damage-tick-when-blocking-with-shield.patch +++ b/patches/server/0965-Configurable-damage-tick-when-blocking-with-shield.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable damage tick when blocking with shield diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e33130ca8f3d2572018dd782b366af2989a95fd6..6a89a9af2ccb82ee1162b14f4be5a868b927a34d 100644 +index be8db026f1a84ddc9c43be3c4aa84b09581c5401..587645818563e277157637723e4d8c21f8cd712d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2487,7 +2487,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2498,7 +2498,7 @@ public abstract class LivingEntity extends Entity implements Attackable { CriteriaTriggers.PLAYER_HURT_ENTITY.trigger((ServerPlayer) damagesource.getEntity(), this, damagesource, originalDamage, f, true); // Paper - fix taken/dealt param order } diff --git a/patches/unapplied/server/0968-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/server/0966-Properly-remove-the-experimental-smithing-inventory-.patch similarity index 100% rename from patches/unapplied/server/0968-Properly-remove-the-experimental-smithing-inventory-.patch rename to patches/server/0966-Properly-remove-the-experimental-smithing-inventory-.patch diff --git a/patches/unapplied/server/0969-disable-forced-empty-world-ticks.patch b/patches/server/0967-disable-forced-empty-world-ticks.patch similarity index 87% rename from patches/unapplied/server/0969-disable-forced-empty-world-ticks.patch rename to patches/server/0967-disable-forced-empty-world-ticks.patch index dd54449a10..c67fc320fd 100644 --- a/patches/unapplied/server/0969-disable-forced-empty-world-ticks.patch +++ b/patches/server/0967-disable-forced-empty-world-ticks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] disable forced empty world ticks diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a0d663a8f041018b617099be86a133f814ad6356..b6b80285a54efd6012c4eedbdc5b2af702f27981 100644 +index fbe3836f54245378b46fe2679cd30e68d05fa749..1a823b403fef4cbd12ed737036894220a9435ebf 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -514,7 +514,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -515,7 +515,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.handlingTick = false; gameprofilerfiller.pop(); diff --git a/patches/unapplied/server/0970-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0968-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch similarity index 93% rename from patches/unapplied/server/0970-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch rename to patches/server/0968-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch index a2e8a59019..75e816d9a8 100644 --- a/patches/unapplied/server/0970-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch +++ b/patches/server/0968-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch @@ -31,10 +31,10 @@ index 2f2bcc1b9b32e58bf70ae6c171177ceb333ed6cd..d7afddd1d961495f0b50302a8da0a70f this.x = x; this.y = y; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 96f18fa8fb5eb856a95e94a42504c00046eb491a..a124a360f45cd71810b8253ce266d52145b6f83b 100644 +index 68f515dcc45306ac2751b1ef49fb4946f9e785db..a76439970968446fbb7ff5a1e086676962375234 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -339,7 +339,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -340,7 +340,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // Paper end public boolean isInWorldBounds(BlockPos pos) { @@ -44,7 +44,7 @@ index 96f18fa8fb5eb856a95e94a42504c00046eb491a..a124a360f45cd71810b8253ce266d521 public static boolean isInSpawnableBounds(BlockPos pos) { diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -index 37795b9e264c571efe9c718fa9996197dca4ed54..a846dd210ed1de0dc3e8b686663ee346bff33dc8 100644 +index 4b56e7cb45026ac3323ecf0b9622a177e961112d..cc7a3d87238b7673f171c793a4f9c3a9e519c0f0 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java @@ -128,6 +128,7 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh @@ -73,7 +73,7 @@ index 7cce66d4c6efe6fd3cc22a6acf72878c964c61ae..f38700e5fbeeb8a913272d4464b8aa32 @Override public FluidState getFluidState(BlockPos pos) { diff --git a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java -index 5321109ca638036572df9a7e17eafcef2b4f5112..4d5704df4a7ac6e148774f1a986d46bfb7e95f95 100644 +index fe8b9373a4906652bb6c0b3d8e1d83df04d592a2..15e14f5d006389c823fa6baf8c1a4f22804d4aa8 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java @@ -97,14 +97,18 @@ public class ProtoChunk extends ChunkAccess { diff --git a/patches/unapplied/server/0971-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0969-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch similarity index 95% rename from patches/unapplied/server/0971-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch rename to patches/server/0969-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch index 9bfa4733be..7a02496ea9 100644 --- a/patches/unapplied/server/0971-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch +++ b/patches/server/0969-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch @@ -15,10 +15,10 @@ 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 b6b80285a54efd6012c4eedbdc5b2af702f27981..be35f9ab6d8877aad755a6ac0344a901b61a49de 100644 +index 1a823b403fef4cbd12ed737036894220a9435ebf..abd416ecf8b9e847d80704f13a5076f61ed846ef 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2338,6 +2338,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2344,6 +2344,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe { if ( iter.next().player == entity ) { @@ -27,10 +27,10 @@ index b6b80285a54efd6012c4eedbdc5b2af702f27981..be35f9ab6d8877aad755a6ac0344a901 } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1bf9dcc77676376184ea45465a6e5ea5ddeb99f4..e1102d8fb73c6b545c205cd5ad4b4a0ae1a32529 100644 +index d82a22d9ef5a7f649d424c01e88a12094ce0a41f..3a5debc21b6f70e961dcca9048193e94df54b6cc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2808,6 +2808,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2788,6 +2788,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { this.awardStat(Stats.DROP); } diff --git a/patches/unapplied/server/0972-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0970-Optimize-Network-Manager-and-add-advanced-packet-sup.patch similarity index 99% rename from patches/unapplied/server/0972-Optimize-Network-Manager-and-add-advanced-packet-sup.patch rename to patches/server/0970-Optimize-Network-Manager-and-add-advanced-packet-sup.patch index a22e16473b..100511b4f9 100644 --- a/patches/unapplied/server/0972-Optimize-Network-Manager-and-add-advanced-packet-sup.patch +++ b/patches/server/0970-Optimize-Network-Manager-and-add-advanced-packet-sup.patch @@ -30,7 +30,7 @@ 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 +index f454df4ea912a127b3a2483ff19e697fb419630e..bc75a81074c20bccad5fd1adf6aa8821f7ad2317 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -93,7 +93,7 @@ public class Connection extends SimpleChannelInboundHandler> { diff --git a/patches/unapplied/server/0973-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/0971-Allow-Saving-of-Oversized-Chunks.patch similarity index 100% rename from patches/unapplied/server/0973-Allow-Saving-of-Oversized-Chunks.patch rename to patches/server/0971-Allow-Saving-of-Oversized-Chunks.patch diff --git a/patches/unapplied/server/0974-Flat-bedrock-generator-settings.patch b/patches/server/0972-Flat-bedrock-generator-settings.patch similarity index 99% rename from patches/unapplied/server/0974-Flat-bedrock-generator-settings.patch rename to patches/server/0972-Flat-bedrock-generator-settings.patch index f9c0bab64c..02d20a69ae 100644 --- a/patches/unapplied/server/0974-Flat-bedrock-generator-settings.patch +++ b/patches/server/0972-Flat-bedrock-generator-settings.patch @@ -107,10 +107,10 @@ index 0000000000000000000000000000000000000000..b5580727eef106fa193e450038d1b20d + } +} diff --git a/src/main/java/net/minecraft/server/Bootstrap.java b/src/main/java/net/minecraft/server/Bootstrap.java -index 4840893082cbcd9b00f79149df1a7805af279dcb..ffca3a7df1c5b344dbd77e1db997c76d22a31021 100644 +index b86839c170ef01455a05e71cb8ba40b047b1659e..f5bf14bdd5ab7d6d50d835d3631d6b62636d96f0 100644 --- a/src/main/java/net/minecraft/server/Bootstrap.java +++ b/src/main/java/net/minecraft/server/Bootstrap.java -@@ -77,6 +77,7 @@ public class Bootstrap { +@@ -80,6 +80,7 @@ public class Bootstrap { CauldronInteraction.bootStrap(); // Paper start BuiltInRegistries.bootStrap(() -> { diff --git a/patches/unapplied/server/0975-Entity-Activation-Range-2.0.patch b/patches/server/0973-Entity-Activation-Range-2.0.patch similarity index 97% rename from patches/unapplied/server/0975-Entity-Activation-Range-2.0.patch rename to patches/server/0973-Entity-Activation-Range-2.0.patch index 61a792a001..c24b4fd836 100644 --- a/patches/unapplied/server/0975-Entity-Activation-Range-2.0.patch +++ b/patches/server/0973-Entity-Activation-Range-2.0.patch @@ -19,10 +19,10 @@ Feature patch public net.minecraft.world.entity.Entity isInsidePortal diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index be35f9ab6d8877aad755a6ac0344a901b61a49de..5b1ba650973a603ecb77324eb18dda4647e0340b 100644 +index abd416ecf8b9e847d80704f13a5076f61ed846ef..459fb89295bce269b4f36fccc5e8acfc4b6f4550 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -967,11 +967,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -968,11 +968,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe public void tickNonPassenger(Entity entity) { // Spigot start @@ -36,7 +36,7 @@ index be35f9ab6d8877aad755a6ac0344a901b61a49de..5b1ba650973a603ecb77324eb18dda46 // Spigot end entity.setOldPosAndRot(); ProfilerFiller gameprofilerfiller = Profiler.get(); -@@ -981,20 +981,23 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -982,20 +982,23 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe return BuiltInRegistries.ENTITY_TYPE.getKey(entity.getType()).toString(); }); gameprofilerfiller.incrementCounter("tickNonPassenger"); @@ -62,7 +62,7 @@ index be35f9ab6d8877aad755a6ac0344a901b61a49de..5b1ba650973a603ecb77324eb18dda46 if (!passenger.isRemoved() && passenger.getVehicle() == vehicle) { if (passenger instanceof Player || this.entityTickList.contains(passenger)) { passenger.setOldPosAndRot(); -@@ -1005,15 +1008,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1006,15 +1009,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe return BuiltInRegistries.ENTITY_TYPE.getKey(passenger.getType()).toString(); }); gameprofilerfiller.incrementCounter("tickPassenger"); @@ -89,7 +89,7 @@ index be35f9ab6d8877aad755a6ac0344a901b61a49de..5b1ba650973a603ecb77324eb18dda46 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ef764777c3054522aa875026addd3d1e7cc3d2ec..c2b98da88e30b7d84a4b51c48e12fd16c1d52c35 100644 +index 8985fa033b8595989dccfd44db95f4ef298fc314..1b3a6f79204b55117319f477f1e99a8c15c812c2 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 @@ -101,7 +101,7 @@ index ef764777c3054522aa875026addd3d1e7cc3d2ec..c2b98da88e30b7d84a4b51c48e12fd16 public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one // Paper start - Entity origin API @javax.annotation.Nullable -@@ -993,6 +995,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1001,6 +1003,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } else { this.wasOnFire = this.isOnFire(); if (type == MoverType.PISTON) { @@ -110,7 +110,7 @@ index ef764777c3054522aa875026addd3d1e7cc3d2ec..c2b98da88e30b7d84a4b51c48e12fd16 movement = this.limitPistonMovement(movement); if (movement.equals(Vec3.ZERO)) { return; -@@ -1007,6 +1011,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1015,6 +1019,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.stuckSpeedMultiplier = Vec3.ZERO; this.setDeltaMovement(Vec3.ZERO); } @@ -125,10 +125,10 @@ index ef764777c3054522aa875026addd3d1e7cc3d2ec..c2b98da88e30b7d84a4b51c48e12fd16 movement = this.maybeBackOffFromEdge(movement, type); Vec3 vec3d1 = this.collide(movement); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index aad63549d7c4f501b683b8dead4938eac27895eb..dbd321f3dc3cc80737830db63aed47a6935e8e89 100644 +index 8ac12520650501139d53f6db3ae1ee6417db7bb9..5a3059cadbc9735b4b48745c6b1b11196596b06d 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -235,6 +235,19 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -231,6 +231,19 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab return this.lookControl; } @@ -222,7 +222,7 @@ index 6d8ea05e5e86e9f6359b560043bb55a10784e952..aee0147649d458b87d92496eda0c1723 } } diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index a573aa4d387ad3a4e1017890f2b50b83a3c27ff4..b7a34f1c4d7b5ef3f7a843d152e33c839dcdedd5 100644 +index af1aee3f6aefaa415601db5fd0bd461b84e68447..2d8ba55906c8da16fde850e3412f4a6bda3d56e7 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -228,19 +228,34 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -319,10 +319,10 @@ index f0a005724ab64a3b0cbc44d8f430716f7958461c..d81a6874e8b25f098df619f84c359e14 + } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index a124a360f45cd71810b8253ce266d52145b6f83b..128bda0d2a690a69b41325a1bb9a2b924cc883cc 100644 +index a76439970968446fbb7ff5a1e086676962375234..ca65546c4531bf7c3e84d2183884e3311bb031cf 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -157,6 +157,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -158,6 +158,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public Map capturedTileEntities = new java.util.LinkedHashMap<>(); // Paper - Retain block place order when capturing blockstates public List captureDrops; public final it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap ticksPerSpawnCategory = new it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<>(); diff --git a/patches/unapplied/server/0976-Anti-Xray.patch b/patches/server/0974-Anti-Xray.patch similarity index 99% rename from patches/unapplied/server/0976-Anti-Xray.patch rename to patches/server/0974-Anti-Xray.patch index cf135696e8..b2a183f821 100644 --- a/patches/unapplied/server/0976-Anti-Xray.patch +++ b/patches/server/0974-Anti-Xray.patch @@ -1105,10 +1105,10 @@ index 183b2191fa1c1b27adedf39593e1b5a223fb1279..8ead66c134688b11dca15f6509147e72 private ClientboundLevelChunkWithLightPacket(RegistryFriendlyByteBuf buf) { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 5b1ba650973a603ecb77324eb18dda4647e0340b..c5f3e4dff83a85a3a5f29534afd84d4a332b1d3e 100644 +index 459fb89295bce269b4f36fccc5e8acfc4b6f4550..c785a76f1291c65310bca0c4a75078fe1055e4e5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -348,7 +348,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -349,7 +349,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // Add env and gen to constructor, IWorldDataServer -> WorldDataServer public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { @@ -1171,10 +1171,10 @@ index 9067100a82a8c405cec0a19e53b3b245daa3bd75..3e03d65ac4ef267de67684d24c6f9c30 } // Paper end - Send empty chunk diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 128bda0d2a690a69b41325a1bb9a2b924cc883cc..078088a854d466e66411d25d6dd6bcc536db78f3 100644 +index ca65546c4531bf7c3e84d2183884e3311bb031cf..2a078293332efe4369f314ab021dfa16f63f7f3f 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -172,6 +172,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -173,6 +173,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } // Paper end - add paper world config @@ -1182,7 +1182,7 @@ index 128bda0d2a690a69b41325a1bb9a2b924cc883cc..078088a854d466e66411d25d6dd6bcc5 public static BlockPos lastPhysicsProblem; // Spigot private org.spigotmc.TickLimiter entityLimiter; private org.spigotmc.TickLimiter tileLimiter; -@@ -205,7 +206,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -206,7 +207,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public abstract ResourceKey getTypeKey(); @@ -1191,7 +1191,7 @@ index 128bda0d2a690a69b41325a1bb9a2b924cc883cc..078088a854d466e66411d25d6dd6bcc5 this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config this.generator = gen; -@@ -285,6 +286,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -286,6 +287,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // CraftBukkit end this.entityLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.entityMaxTickTime); this.tileLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.tileMaxTickTime); @@ -1199,7 +1199,7 @@ index 128bda0d2a690a69b41325a1bb9a2b924cc883cc..078088a854d466e66411d25d6dd6bcc5 } // Paper start - Cancel hit for vanished players -@@ -485,6 +487,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -486,6 +488,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // CraftBukkit end BlockState iblockdata1 = chunk.setBlockState(pos, state, (flags & 64) != 0, (flags & 1024) == 0); // CraftBukkit custom NO_PLACE flag @@ -1208,7 +1208,7 @@ index 128bda0d2a690a69b41325a1bb9a2b924cc883cc..078088a854d466e66411d25d6dd6bcc5 if (iblockdata1 == null) { // CraftBukkit start - remove blockstate if failed (or the same) diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -index a846dd210ed1de0dc3e8b686663ee346bff33dc8..63d7d6b93119d96d753230472df30a9dedd889dc 100644 +index cc7a3d87238b7673f171c793a4f9c3a9e519c0f0..9d240aa87101662480cdd510839e017aa9c58fcd 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java @@ -108,17 +108,17 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh @@ -1233,10 +1233,10 @@ index a846dd210ed1de0dc3e8b686663ee346bff33dc8..63d7d6b93119d96d753230472df30a9d } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 56227ce823ab2997e2602f0807bbd54e54454344..5d15aed0f340a49a47e035fb0ce23413946bc124 100644 +index 5a14d0aa18026b0b5d3e3caffebc6981b1125309..0ade64bbdec563e555c981cee2208e6c72afe249 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -93,7 +93,7 @@ public class LevelChunk extends ChunkAccess { +@@ -94,7 +94,7 @@ public class LevelChunk extends ChunkAccess { } public LevelChunk(Level world, ChunkPos pos, UpgradeData upgradeData, LevelChunkTicks blockTickScheduler, LevelChunkTicks fluidTickScheduler, long inhabitedTime, @Nullable LevelChunkSection[] sectionArrayInitializer, @Nullable LevelChunk.PostLoadProcessor entityLoader, @Nullable BlendingData blendingData) { @@ -1612,7 +1612,7 @@ index 338b60f0254d55ac4a0645ca351d0ce736ce0681..87477ad186b5f692a39f323a618d016b @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 035ffd365555cc2a82917e56c3d7454730287755..bc78b58dec47d8ca1da7762b0b3f168a35e090b8 100644 +index dc03536264a7e529957736ab040fe4966280b87e..cbbbea3f31416e6c11125400d37fe21252830d67 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -453,11 +453,16 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0977-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0975-Use-Velocity-compression-and-cipher-natives.patch similarity index 98% rename from patches/unapplied/server/0977-Use-Velocity-compression-and-cipher-natives.patch rename to patches/server/0975-Use-Velocity-compression-and-cipher-natives.patch index 8459cc1aba..e013a0ebc5 100644 --- a/patches/unapplied/server/0977-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/0975-Use-Velocity-compression-and-cipher-natives.patch @@ -9,11 +9,11 @@ Feature patch private-f net.minecraft.network.CompressionDecoder inflater diff --git a/build.gradle.kts b/build.gradle.kts -index 9b514a9aa1d386481a1ee5077178564cd569117c..9e6c2a4630ce75e4115f76b5e7a1e0b50e8b3197 100644 +index eaccf005560af84beb98065ea4ac0adaef71768e..2ceee9c2f7a237dac1c2e5c3fcc50a869d93d1ac 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -50,6 +50,11 @@ dependencies { - runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3") + runtimeOnly("org.xerial:sqlite-jdbc:3.47.0.0") runtimeOnly("com.mysql:mysql-connector-j:9.1.0") runtimeOnly("com.lmax:disruptor:3.4.4") // Paper + // Paper start - Use Velocity cipher @@ -286,7 +286,7 @@ index 34a80d2f34555663ab1b394972957089214cb337..ec30c291188ac3bba7f1c3bc397576d1 return this.threshold; } diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 7dc7aeb1d94d26cf54bd4e4ab13972a3a60c1f98..36624d3dc7e3f2a64f88b01c5e906018fcee0015 100644 +index bc75a81074c20bccad5fd1adf6aa8821f7ad2317..9d6738b431867836c5e64bc13e887fd4af4627e1 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -792,11 +792,28 @@ public class Connection extends SimpleChannelInboundHandler> { diff --git a/patches/unapplied/server/0978-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0976-Optimize-Collision-to-not-load-chunks.patch similarity index 98% rename from patches/unapplied/server/0978-Optimize-Collision-to-not-load-chunks.patch rename to patches/server/0976-Optimize-Collision-to-not-load-chunks.patch index b67457788b..cb0103ec86 100644 --- a/patches/unapplied/server/0978-Optimize-Collision-to-not-load-chunks.patch +++ b/patches/server/0976-Optimize-Collision-to-not-load-chunks.patch @@ -28,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 c2b98da88e30b7d84a4b51c48e12fd16c1d52c35..6a4f52342c5a195206ecf3ac118e8a4df4d2f3d2 100644 +index 1b3a6f79204b55117319f477f1e99a8c15c812c2..4e2754d28fc387987a191f28910f3bbefa36e724 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/unapplied/server/0979-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/0977-Optimize-GoalSelector-Goal.Flag-Set-operations.patch similarity index 100% rename from patches/unapplied/server/0979-Optimize-GoalSelector-Goal.Flag-Set-operations.patch rename to patches/server/0977-Optimize-GoalSelector-Goal.Flag-Set-operations.patch diff --git a/patches/unapplied/server/0980-Optimize-Hoppers.patch b/patches/server/0978-Optimize-Hoppers.patch similarity index 98% rename from patches/unapplied/server/0980-Optimize-Hoppers.patch rename to patches/server/0978-Optimize-Hoppers.patch index de493b8022..771a97def0 100644 --- a/patches/unapplied/server/0980-Optimize-Hoppers.patch +++ b/patches/server/0978-Optimize-Hoppers.patch @@ -52,7 +52,7 @@ index 0000000000000000000000000000000000000000..5c42823726e70ce6c9d0121d07431548 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ab1a2c4272c4c84743ff501bb35816d35c9d4c94..6756f325dc755e5fcb8823c7395c925104dcdda0 100644 +index c7f84fac5929046d06c38a7624c497dbcda2ff37..6bdc9dbbbe11b368892e77fe162199a40418cfde 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1688,6 +1688,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 947e2a3620d73569552c5185664b7564e908007e..33e7d2884195677c4d6340d8b84c1dd85c636ec1 100644 +index 43b58877152ff7746591986158ba78bc46fc8b3e..f29415b8dff7d17328e159b56ae4ad46452f018e 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -881,10 +881,16 @@ public final class ItemStack implements DataComponentHolder { +@@ -886,10 +886,16 @@ public final class ItemStack implements DataComponentHolder { } public ItemStack copy() { @@ -87,10 +87,10 @@ index 947e2a3620d73569552c5185664b7564e908007e..33e7d2884195677c4d6340d8b84c1dd8 itemstack.setPopTime(this.getPopTime()); return itemstack; diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index 39fc5aa6ac8c66d8dd7437262124b61c4c138689..1f929b467a0ece3143af58a657cf5983c07a8d51 100644 +index 92ae1dea58478cb17df8fa5d367bec5c63186ae3..1f664c10138a6e19bdc0051fa80575516d5602e7 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -@@ -34,6 +34,7 @@ import org.bukkit.inventory.InventoryHolder; +@@ -33,6 +33,7 @@ import org.bukkit.inventory.InventoryHolder; // CraftBukkit end public abstract class BlockEntity { @@ -98,7 +98,7 @@ index 39fc5aa6ac8c66d8dd7437262124b61c4c138689..1f929b467a0ece3143af58a657cf5983 // CraftBukkit start - data containers private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); -@@ -225,6 +226,7 @@ public abstract class BlockEntity { +@@ -215,6 +216,7 @@ public abstract class BlockEntity { public void setChanged() { if (this.level != null) { diff --git a/patches/unapplied/server/0981-Optimize-Voxel-Shape-Merging.patch b/patches/server/0979-Optimize-Voxel-Shape-Merging.patch similarity index 100% rename from patches/unapplied/server/0981-Optimize-Voxel-Shape-Merging.patch rename to patches/server/0979-Optimize-Voxel-Shape-Merging.patch diff --git a/patches/unapplied/server/0982-Optimize-Bit-Operations-by-inlining.patch b/patches/server/0980-Optimize-Bit-Operations-by-inlining.patch similarity index 97% rename from patches/unapplied/server/0982-Optimize-Bit-Operations-by-inlining.patch rename to patches/server/0980-Optimize-Bit-Operations-by-inlining.patch index 2659c21023..e5cf9cb25d 100644 --- a/patches/unapplied/server/0982-Optimize-Bit-Operations-by-inlining.patch +++ b/patches/server/0980-Optimize-Bit-Operations-by-inlining.patch @@ -9,10 +9,10 @@ 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 +index bf3eb9259f97d6d5af01244f103dc6b19c185d50..faffd87c357511ef00646971a16acf1009362c59 100644 --- a/src/main/java/net/minecraft/core/BlockPos.java +++ b/src/main/java/net/minecraft/core/BlockPos.java -@@ -50,15 +50,17 @@ public class BlockPos extends Vec3i { +@@ -51,15 +51,17 @@ public class BlockPos extends Vec3i { }; private static final Logger LOGGER = LogUtils.getLogger(); public static final BlockPos ZERO = new BlockPos(0, 0, 0); @@ -38,7 +38,7 @@ index a1d54d978d34d75475f92dfb806113586e7e449c..f58a94efafbc01d402cd03a108bb90f6 public BlockPos(int x, int y, int z) { super(x, y, z); -@@ -68,28 +70,29 @@ public class BlockPos extends Vec3i { +@@ -69,28 +71,29 @@ public class BlockPos extends Vec3i { this(pos.getX(), pos.getY(), pos.getZ()); } @@ -73,7 +73,7 @@ index a1d54d978d34d75475f92dfb806113586e7e449c..f58a94efafbc01d402cd03a108bb90f6 } public static BlockPos containing(double x, double y, double z) { -@@ -113,10 +116,7 @@ public class BlockPos extends Vec3i { +@@ -114,10 +117,7 @@ public class BlockPos extends Vec3i { } public static long asLong(int x, int y, int z) { diff --git a/patches/unapplied/server/0983-Remove-streams-from-hot-code.patch b/patches/server/0981-Remove-streams-from-hot-code.patch similarity index 100% rename from patches/unapplied/server/0983-Remove-streams-from-hot-code.patch rename to patches/server/0981-Remove-streams-from-hot-code.patch diff --git a/patches/unapplied/server/0984-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0982-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/unapplied/server/0984-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/server/0982-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/unapplied/server/0985-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/0983-Fix-entity-type-tags-suggestions-in-selectors.patch similarity index 100% rename from patches/unapplied/server/0985-Fix-entity-type-tags-suggestions-in-selectors.patch rename to patches/server/0983-Fix-entity-type-tags-suggestions-in-selectors.patch diff --git a/patches/unapplied/server/0986-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/0984-Handle-Oversized-block-entities-in-chunks.patch similarity index 100% rename from patches/unapplied/server/0986-Handle-Oversized-block-entities-in-chunks.patch rename to patches/server/0984-Handle-Oversized-block-entities-in-chunks.patch diff --git a/patches/unapplied/server/0987-Check-distance-in-entity-interactions.patch b/patches/server/0985-Check-distance-in-entity-interactions.patch similarity index 91% rename from patches/unapplied/server/0987-Check-distance-in-entity-interactions.patch rename to patches/server/0985-Check-distance-in-entity-interactions.patch index 3a6eef9912..cd71d48d64 100644 --- a/patches/unapplied/server/0987-Check-distance-in-entity-interactions.patch +++ b/patches/server/0985-Check-distance-in-entity-interactions.patch @@ -6,7 +6,7 @@ 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 e4048d8f43befe5134222207cdb88f640a875deb..276ad77ecb274b6cd454d0f92457964a8eaa5824 100644 +index cc5e2710d3edeaf60284ed95c33999c701d0678a..1a31024b46a5d7960f1e0f172f8ebcf396dd3139 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java @@ -128,6 +128,7 @@ public class Util { @@ -18,7 +18,7 @@ index e4048d8f43befe5134222207cdb88f640a875deb..276ad77ecb274b6cd454d0f92457964a }; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6a89a9af2ccb82ee1162b14f4be5a868b927a34d..ed26eb5e8cc9a46e4a4d2c58d587463d5571a8e0 100644 +index 587645818563e277157637723e4d8c21f8cd712d..16fdc55c398f1ce07fbcb09c386c7f3703c9bd68 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1467,7 +1467,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -30,7 +30,7 @@ index 6a89a9af2ccb82ee1162b14f4be5a868b927a34d..ed26eb5e8cc9a46e4a4d2c58d587463d LivingEntity entityliving = (LivingEntity) entity; this.blockUsingShield(entityliving); -@@ -1591,6 +1591,14 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1559,6 +1559,14 @@ public abstract class LivingEntity extends Entity implements Attackable { d0 = source.getSourcePosition().x() - this.getX(); d1 = source.getSourcePosition().z() - this.getZ(); } @@ -45,7 +45,7 @@ index 6a89a9af2ccb82ee1162b14f4be5a868b927a34d..ed26eb5e8cc9a46e4a4d2c58d587463d this.knockback(0.4000000059604645D, d0, d1, entity1, entity1 == null ? io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.DAMAGE : io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.ENTITY_ATTACK); // CraftBukkit // Paper - knockback events if (!flag) { -@@ -2427,7 +2435,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2438,7 +2446,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurtCurrentlyUsedShield((float) -event.getDamage(DamageModifier.BLOCKING)); Entity entity = damagesource.getDirectEntity(); @@ -55,7 +55,7 @@ index 6a89a9af2ccb82ee1162b14f4be5a868b927a34d..ed26eb5e8cc9a46e4a4d2c58d587463d } } diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java -index 3590f4bc1af829cdb6e0cfdc8fa6857197b9219e..1fdbef16cd29c8fc74578ac3328f985eca61088d 100644 +index 8a5b3ebc875e5c71ca0d57a52e01b74cfee408b6..b87fd952020d88a6612429df73121422bf9ae422 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java @@ -674,7 +674,7 @@ public abstract class AbstractBoat extends VehicleEntity implements Leashable { diff --git a/patches/unapplied/server/0988-Configurable-Sand-Duping.patch b/patches/server/0986-Configurable-Sand-Duping.patch similarity index 86% rename from patches/unapplied/server/0988-Configurable-Sand-Duping.patch rename to patches/server/0986-Configurable-Sand-Duping.patch index d209e03e1e..a6f10ad4f7 100644 --- a/patches/unapplied/server/0988-Configurable-Sand-Duping.patch +++ b/patches/server/0986-Configurable-Sand-Duping.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable Sand Duping diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index 0ecda05a98046938546fe7bc6cf2590c886add41..06d9a519e64d4b8b8764b3ad7691ad93b5cee065 100644 +index 692d78bff5f7f01c8545e0e1785953ccc0f00e2d..410c4e4a42640ebe8a9c233eb2064aad76e45a27 100644 --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -@@ -435,7 +435,7 @@ public class FallingBlockEntity extends Entity { +@@ -430,7 +430,7 @@ public class FallingBlockEntity extends Entity { boolean flag = (resourcekey1 == Level.END || resourcekey == Level.END) && resourcekey1 != resourcekey; Entity entity = super.teleport(teleportTarget); diff --git a/patches/unapplied/server/0989-Properly-resend-entities.patch b/patches/server/0987-Properly-resend-entities.patch similarity index 93% rename from patches/unapplied/server/0989-Properly-resend-entities.patch rename to patches/server/0987-Properly-resend-entities.patch index 01b1658ae9..c72ea7ae40 100644 --- a/patches/unapplied/server/0989-Properly-resend-entities.patch +++ b/patches/server/0987-Properly-resend-entities.patch @@ -83,25 +83,25 @@ index f2dd272a01b4e946a6746865d55ebc9861f8361b..5d189ba60d40f5c42b2dacc339594ed0 } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index da719576b2c7e992b74266c7fbe5c9728d238dcf..c93aa97abd46b3ad87e284feac51487ed50b9f5a 100644 +index ce968a5f2596e88627baf810b294fc03ccbcca8f..b9036e21adae600c5ec4a3c6ebc51ef2510e0d5e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1967,6 +1967,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - } +@@ -2025,6 +2025,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + } - if (cancelled) { + if (cancelled) { + this.player.resyncUsingItem(this.player); // Paper - Properly cancel usable items - this.player.getBukkitEntity().updateInventory(); // SPIGOT-2524 - return; - } -@@ -2738,7 +2739,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + this.player.getBukkitEntity().updateInventory(); // SPIGOT-2524 + return; + } +@@ -2803,7 +2804,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - // Entity in bucket - SPIGOT-4048 and SPIGOT-6859a - 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.getBukkitEntity().update(ServerGamePacketListenerImpl.this.player); + // Entity in bucket - SPIGOT-4048 and SPIGOT-6859a + 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.getBukkitEntity().update(ServerGamePacketListenerImpl.this.player); + entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it - ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); - } + ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); + } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java index b451842d6848af883cc3abf200f03c9a4680106c..88299abf563a041ade1683b66b43103b0eeeea0d 100644 @@ -136,7 +136,7 @@ index b451842d6848af883cc3abf200f03c9a4680106c..88299abf563a041ade1683b66b43103b } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6a4f52342c5a195206ecf3ac118e8a4df4d2f3d2..20fcfb7d7d2541731452454d78f6967215c4fcd7 100644 +index 4e2754d28fc387987a191f28910f3bbefa36e724..1167e3a378bf2f83848e3a732d407d6e5e689743 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -599,13 +599,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -188,10 +188,10 @@ index 6a4f52342c5a195206ecf3ac118e8a4df4d2f3d2..20fcfb7d7d2541731452454d78f69672 public boolean equals(Object object) { return object instanceof Entity ? ((Entity) object).id == this.id : false; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ed26eb5e8cc9a46e4a4d2c58d587463d5571a8e0..5616391f02f8599f5786a6d8e740a0ed9290627f 100644 +index 16fdc55c398f1ce07fbcb09c386c7f3703c9bd68..11f2176ce70fd2e0c323906d39fac95b75e10551 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4030,6 +4030,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4037,6 +4037,11 @@ public abstract class LivingEntity extends Entity implements Attackable { return ((Byte) this.entityData.get(LivingEntity.DATA_LIVING_ENTITY_FLAGS) & 2) > 0 ? InteractionHand.OFF_HAND : InteractionHand.MAIN_HAND; } diff --git a/patches/unapplied/server/0990-Registry-Modification-API.patch b/patches/server/0988-Registry-Modification-API.patch similarity index 98% rename from patches/unapplied/server/0990-Registry-Modification-API.patch rename to patches/server/0988-Registry-Modification-API.patch index aa674ef8dc..9997b4479e 100644 --- a/patches/unapplied/server/0990-Registry-Modification-API.patch +++ b/patches/server/0988-Registry-Modification-API.patch @@ -1212,7 +1212,7 @@ index 4638ba98dbbdb0f880337347be85a6e0fbed2191..bc448f8511c629d1f13d4baf717a11e6 } } diff --git a/src/main/java/net/minecraft/resources/RegistryDataLoader.java b/src/main/java/net/minecraft/resources/RegistryDataLoader.java -index 61774165a25209ee6d26cf8d80149b220c3874e6..c5e279216f6cb880397ea2768ee6e99a8798e3e1 100644 +index b8c1840eeda982c0c6350e49fae2784a599ef3ce..1b167e8e0b42a49de1c5f0ea33dc9bef6ddd0f83 100644 --- a/src/main/java/net/minecraft/resources/RegistryDataLoader.java +++ b/src/main/java/net/minecraft/resources/RegistryDataLoader.java @@ -130,7 +130,7 @@ public class RegistryDataLoader { @@ -1267,18 +1267,18 @@ index 61774165a25209ee6d26cf8d80149b220c3874e6..c5e279216f6cb880397ea2768ee6e99a + Map, Exception> errors, + io.papermc.paper.registry.data.util.Conversions conversions // Paper - pass conversions ) { - String string = Registries.elementsDirPath(registry.key()); - FileToIdConverter fileToIdConverter = FileToIdConverter.json(string); -@@ -266,7 +268,7 @@ public class RegistryDataLoader { + FileToIdConverter fileToIdConverter = FileToIdConverter.registry(registry.key()); + RegistryOps registryOps = RegistryOps.create(JsonOps.INSTANCE, infoGetter); +@@ -265,7 +267,7 @@ public class RegistryDataLoader { RegistrationInfo registrationInfo = REGISTRATION_INFO_CACHE.apply(resource.knownPackInfo()); try { - loadElementFromResource(registry, elementDecoder, registryOps, resourceKey, resource, registrationInfo); + loadElementFromResource(registry, elementDecoder, registryOps, resourceKey, resource, registrationInfo, conversions); // Paper - pass conversions - } catch (Exception var15) { + } catch (Exception var14) { errors.put( resourceKey, -@@ -275,6 +277,7 @@ public class RegistryDataLoader { +@@ -274,6 +276,7 @@ public class RegistryDataLoader { } } @@ -1286,7 +1286,7 @@ index 61774165a25209ee6d26cf8d80149b220c3874e6..c5e279216f6cb880397ea2768ee6e99a TagLoader.loadTagsForRegistry(resourceManager, registry); } -@@ -284,7 +287,8 @@ public class RegistryDataLoader { +@@ -283,7 +286,8 @@ public class RegistryDataLoader { RegistryOps.RegistryInfoLookup infoGetter, WritableRegistry registry, Decoder decoder, @@ -1296,16 +1296,16 @@ index 61774165a25209ee6d26cf8d80149b220c3874e6..c5e279216f6cb880397ea2768ee6e99a ) { RegistryDataLoader.NetworkedRegistryData networkedRegistryData = data.get(registry.key()); if (networkedRegistryData != null) { -@@ -311,7 +315,7 @@ public class RegistryDataLoader { +@@ -309,7 +313,7 @@ public class RegistryDataLoader { try { Resource resource = factory.getResourceOrThrow(resourceLocation); - loadElementFromResource(registry, decoder, registryOps2, resourceKey, resource, NETWORK_REGISTRATION_INFO); + loadElementFromResource(registry, decoder, registryOps2, resourceKey, resource, NETWORK_REGISTRATION_INFO, conversions); // Paper - pass conversions - } catch (Exception var18) { - loadingErrors.put(resourceKey, new IllegalStateException("Failed to parse local data", var18)); + } catch (Exception var17) { + loadingErrors.put(resourceKey, new IllegalStateException("Failed to parse local data", var17)); } -@@ -323,22 +327,23 @@ public class RegistryDataLoader { +@@ -321,22 +325,23 @@ public class RegistryDataLoader { } static record Loader(RegistryDataLoader.RegistryData data, WritableRegistry registry, Map, Exception> loadingErrors) { @@ -1335,7 +1335,7 @@ index 61774165a25209ee6d26cf8d80149b220c3874e6..c5e279216f6cb880397ea2768ee6e99a public static record NetworkedRegistryData(List elements, TagNetworkSerialization.NetworkPayload tags) { diff --git a/src/main/java/net/minecraft/server/ReloadableServerRegistries.java b/src/main/java/net/minecraft/server/ReloadableServerRegistries.java -index 6fddef967b6314ca0158f5bd4b8898670ea5e9ec..b5ca1a0acb16d0cd8dccc854f309d425a48b070d 100644 +index 185752185549ebd5f431932b63d8e5fea50a2cb2..f4d25d1aed5bcd3b8119ac7356a9cccc9d4ff54c 100644 --- a/src/main/java/net/minecraft/server/ReloadableServerRegistries.java +++ b/src/main/java/net/minecraft/server/ReloadableServerRegistries.java @@ -50,8 +50,9 @@ public class ReloadableServerRegistries { @@ -1349,7 +1349,7 @@ index 6fddef967b6314ca0158f5bd4b8898670ea5e9ec..b5ca1a0acb16d0cd8dccc854f309d425 .toList(); CompletableFuture>> completableFuture = Util.sequence(list2); return completableFuture.thenApplyAsync( -@@ -60,7 +61,7 @@ public class ReloadableServerRegistries { +@@ -60,14 +61,14 @@ public class ReloadableServerRegistries { } private static CompletableFuture> scheduleRegistryLoad( @@ -1358,10 +1358,9 @@ index 6fddef967b6314ca0158f5bd4b8898670ea5e9ec..b5ca1a0acb16d0cd8dccc854f309d425 ) { return CompletableFuture.supplyAsync(() -> { WritableRegistry writableRegistry = new MappedRegistry<>(type.registryKey(), Lifecycle.experimental()); -@@ -68,7 +69,7 @@ public class ReloadableServerRegistries { + io.papermc.paper.registry.PaperRegistryAccess.instance().registerReloadableRegistry(type.registryKey(), writableRegistry); // Paper - register reloadable registry Map map = new HashMap<>(); - String string = Registries.elementsDirPath(type.registryKey()); - SimpleJsonResourceReloadListener.scanDirectory(resourceManager, string, ops, type.codec(), map); + SimpleJsonResourceReloadListener.scanDirectory(resourceManager, type.registryKey(), ops, type.codec(), map); - map.forEach((id, value) -> writableRegistry.register(ResourceKey.create(type.registryKey(), id), (T)value, DEFAULT_REGISTRATION_INFO)); + map.forEach((id, value) -> io.papermc.paper.registry.PaperRegistryListenerManager.INSTANCE.registerWithListeners(writableRegistry, ResourceKey.create(type.registryKey(), id), value, DEFAULT_REGISTRATION_INFO, conversions)); // Paper - register with listeners TagLoader.loadTagsForRegistry(resourceManager, writableRegistry); diff --git a/patches/unapplied/server/0991-Add-registry-entry-and-builders.patch b/patches/server/0989-Add-registry-entry-and-builders.patch similarity index 100% rename from patches/unapplied/server/0991-Add-registry-entry-and-builders.patch rename to patches/server/0989-Add-registry-entry-and-builders.patch diff --git a/patches/unapplied/server/0992-Proxy-ItemStack-to-CraftItemStack.patch b/patches/server/0990-Proxy-ItemStack-to-CraftItemStack.patch similarity index 99% rename from patches/unapplied/server/0992-Proxy-ItemStack-to-CraftItemStack.patch rename to patches/server/0990-Proxy-ItemStack-to-CraftItemStack.patch index a321d37f33..298bd2afb6 100644 --- a/patches/unapplied/server/0992-Proxy-ItemStack-to-CraftItemStack.patch +++ b/patches/server/0990-Proxy-ItemStack-to-CraftItemStack.patch @@ -205,7 +205,7 @@ index 6cc9d7a9e6d4bfdc27e52fc581b2bb832616f121..6930d0afb230a88aa813b02e4d55c95d + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index f0556a207f6d9d1766ef0d9753355f7fa5052dc1..2539802c0a02b6a564bdbd58e93ffe5685e775b9 100644 +index 565b2474a7f511d1635aa80b7f1eaa6452b0f2a2..52d3f5159b2d55c0f2adc2b882046909ecb52222 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -666,6 +666,13 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0993-Make-a-PDC-view-accessible-directly-from-ItemStack.patch b/patches/server/0991-Make-a-PDC-view-accessible-directly-from-ItemStack.patch similarity index 100% rename from patches/unapplied/server/0993-Make-a-PDC-view-accessible-directly-from-ItemStack.patch rename to patches/server/0991-Make-a-PDC-view-accessible-directly-from-ItemStack.patch diff --git a/patches/unapplied/server/0994-Prioritize-Minecraft-commands-in-function-parsing-an.patch b/patches/server/0992-Prioritize-Minecraft-commands-in-function-parsing-an.patch similarity index 100% rename from patches/unapplied/server/0994-Prioritize-Minecraft-commands-in-function-parsing-an.patch rename to patches/server/0992-Prioritize-Minecraft-commands-in-function-parsing-an.patch diff --git a/patches/unapplied/server/0995-optimize-dirt-and-snow-spreading.patch b/patches/server/0993-optimize-dirt-and-snow-spreading.patch similarity index 87% rename from patches/unapplied/server/0995-optimize-dirt-and-snow-spreading.patch rename to patches/server/0993-optimize-dirt-and-snow-spreading.patch index 36f98fb336..19762aa523 100644 --- a/patches/unapplied/server/0995-optimize-dirt-and-snow-spreading.patch +++ b/patches/server/0993-optimize-dirt-and-snow-spreading.patch @@ -6,7 +6,7 @@ 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 +index 30047cbef0ef54ad326e71761cba64887624d493..0418ad0fb58686679407ba8b8c2096a2648f9f2e 100644 --- a/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java @@ -18,8 +18,13 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { @@ -54,25 +54,24 @@ index b4b826c53548bcf6952f6d0ee8037975ceb8c6e1..a94c164fbf8fc3bb7669799a53f7e552 // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callBlockFadeEvent(world, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) { return; -@@ -57,9 +74,19 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { - +@@ -58,8 +75,20 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { for (int i = 0; i < 4; ++i) { BlockPos blockposition1 = pos.offset(random.nextInt(3) - 1, random.nextInt(5) - 3, random.nextInt(3) - 1); -- + - if (world.getBlockState(blockposition1).is(Blocks.DIRT) && SpreadingSnowyDirtBlock.canPropagate(iblockdata1, world, blockposition1)) { -- org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockSpreadEvent(world, pos, blockposition1, (BlockState) iblockdata1.setValue(SpreadingSnowyDirtBlock.SNOWY, world.getBlockState(blockposition1.above()).is(Blocks.SNOW))); // CraftBukkit + // Paper start - Perf: optimize dirt and snow spreading + if (pos.getX() == blockposition1.getX() && pos.getY() == blockposition1.getY() && pos.getZ() == blockposition1.getZ()) { + continue; + } -+ net.minecraft.world.level.chunk.ChunkAccess access; ++ ++ final net.minecraft.world.level.chunk.ChunkAccess access; + if (cachedBlockChunk.locX == blockposition1.getX() >> 4 && cachedBlockChunk.locZ == blockposition1.getZ() >> 4) { + access = cachedBlockChunk; + } else { + access = world.getChunkAt(blockposition1); + } + if (access.getBlockState(blockposition1).is(Blocks.DIRT) && SpreadingSnowyDirtBlock.canPropagate(access, iblockdata1, world, blockposition1)) { -+ org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockSpreadEvent(world, pos, blockposition1, (BlockState) iblockdata1.setValue(SpreadingSnowyDirtBlock.SNOWY, access.getBlockState(blockposition1.above()).is(Blocks.SNOW))); // CraftBukkit + org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockSpreadEvent(world, pos, blockposition1, (BlockState) iblockdata1.setValue(SpreadingSnowyDirtBlock.SNOWY, isSnowySetting(world.getBlockState(blockposition1.above())))); // CraftBukkit + // Paper end - Perf: optimize dirt and snow spreading } } diff --git a/patches/unapplied/server/0996-Fix-NPE-for-Jukebox-setRecord.patch b/patches/server/0994-Fix-NPE-for-Jukebox-setRecord.patch similarity index 89% rename from patches/unapplied/server/0996-Fix-NPE-for-Jukebox-setRecord.patch rename to patches/server/0994-Fix-NPE-for-Jukebox-setRecord.patch index c673e4f8c7..511e06324c 100644 --- a/patches/unapplied/server/0996-Fix-NPE-for-Jukebox-setRecord.patch +++ b/patches/server/0994-Fix-NPE-for-Jukebox-setRecord.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix NPE for Jukebox#setRecord Fallback to the global registry if no level exists diff --git a/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java -index 69fb6f5cfc8654995d7c78e8f7e9470b601e8ec7..c3bbe5e9e0cc37f3f22fc1d839fa2652966f1266 100644 +index 7a28dc3e9f768458e4b59a7b6a345e189cafa048..668ec9dfb888715aa1cca67bd28e610b8d0f2a93 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java -@@ -199,7 +199,7 @@ public class JukeboxBlockEntity extends BlockEntity implements ContainerSingleIt +@@ -203,7 +203,7 @@ public class JukeboxBlockEntity extends BlockEntity implements ContainerSingleIt public void setSongItemWithoutPlaying(ItemStack itemstack, long ticksSinceSongStarted) { // CraftBukkit - add argument this.item = itemstack; this.jukeboxSongPlayer.song = null; // CraftBukkit - reset diff --git a/patches/unapplied/server/0997-fix-horse-inventories.patch b/patches/server/0995-fix-horse-inventories.patch similarity index 100% rename from patches/unapplied/server/0997-fix-horse-inventories.patch rename to patches/server/0995-fix-horse-inventories.patch diff --git a/patches/unapplied/server/0998-Only-call-EntityDamageEvents-before-actuallyHurt.patch b/patches/server/0996-Only-call-EntityDamageEvents-before-actuallyHurt.patch similarity index 95% rename from patches/unapplied/server/0998-Only-call-EntityDamageEvents-before-actuallyHurt.patch rename to patches/server/0996-Only-call-EntityDamageEvents-before-actuallyHurt.patch index b607b89045..6ab98e87f7 100644 --- a/patches/unapplied/server/0998-Only-call-EntityDamageEvents-before-actuallyHurt.patch +++ b/patches/server/0996-Only-call-EntityDamageEvents-before-actuallyHurt.patch @@ -12,7 +12,7 @@ This patch moves the invocation directly before the #actuallyHurt calls, respective invulnerable timings. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5616391f02f8599f5786a6d8e740a0ed9290627f..cfef1bff0080ffc662e3a4428116f7d4dc71eab2 100644 +index 11f2176ce70fd2e0c323906d39fac95b75e10551..5a5a79e237eb36b67e0b373840f0084b9dbf3954 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1489,12 +1489,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -52,7 +52,7 @@ index 5616391f02f8599f5786a6d8e740a0ed9290627f..cfef1bff0080ffc662e3a4428116f7d4 // CraftBukkit start if (!this.actuallyHurt(world, source, (float) event.getFinalDamage(), event)) { return false; -@@ -1653,6 +1657,18 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1664,6 +1668,18 @@ public abstract class LivingEntity extends Entity implements Attackable { } } diff --git a/patches/unapplied/server/0999-Add-ItemType-getItemRarity.patch b/patches/server/0997-Add-ItemType-getItemRarity.patch similarity index 100% rename from patches/unapplied/server/0999-Add-ItemType-getItemRarity.patch rename to patches/server/0997-Add-ItemType-getItemRarity.patch diff --git a/patches/unapplied/server/1000-Add-plugin-info-at-startup.patch b/patches/server/0998-Add-plugin-info-at-startup.patch similarity index 100% rename from patches/unapplied/server/1000-Add-plugin-info-at-startup.patch rename to patches/server/0998-Add-plugin-info-at-startup.patch diff --git a/patches/unapplied/server/1001-Make-interaction-leniency-distance-configurable.patch b/patches/server/0999-Make-interaction-leniency-distance-configurable.patch similarity index 63% rename from patches/unapplied/server/1001-Make-interaction-leniency-distance-configurable.patch rename to patches/server/0999-Make-interaction-leniency-distance-configurable.patch index 236b30655b..9a4c2a8288 100644 --- a/patches/unapplied/server/1001-Make-interaction-leniency-distance-configurable.patch +++ b/patches/server/0999-Make-interaction-leniency-distance-configurable.patch @@ -12,15 +12,15 @@ This value however may be too low in high latency environments. The patch exposes a new configuration option to configure said value. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c93aa97abd46b3ad87e284feac51487ed50b9f5a..bb3d444f7bf2b20a557cd39997f9943c90763432 100644 +index b9036e21adae600c5ec4a3c6ebc51ef2510e0d5e..3050ad1322f0946bfc34a23e4f3e77c11e77fe72 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2723,7 +2723,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2788,7 +2788,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - AABB axisalignedbb = entity.getBoundingBox(); + AABB axisalignedbb = entity.getBoundingBox(); -- if (this.player.canInteractWithEntity(axisalignedbb, 3.0D)) { +- if (this.player.canInteractWithEntity(axisalignedbb, 3.0D)) { + if (this.player.canInteractWithEntity(axisalignedbb, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0D))) { // Paper - configurable lenience value for interact range - packet.dispatch(new ServerboundInteractPacket.Handler() { - private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit - ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand); + packet.dispatch(new ServerboundInteractPacket.Handler() { + private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit + ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand); diff --git a/patches/unapplied/server/1002-Fix-PickupStatus-getting-reset.patch b/patches/server/1000-Fix-PickupStatus-getting-reset.patch similarity index 92% rename from patches/unapplied/server/1002-Fix-PickupStatus-getting-reset.patch rename to patches/server/1000-Fix-PickupStatus-getting-reset.patch index f6e9463e32..3e43a8b904 100644 --- a/patches/unapplied/server/1002-Fix-PickupStatus-getting-reset.patch +++ b/patches/server/1000-Fix-PickupStatus-getting-reset.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix PickupStatus getting reset diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index d43f7c44e4f7769654b92b130246822d68697f7d..8ce573042ea87631eb6539f2a0d5036655c2b809 100644 +index 9c781ad45fd0295cc8ffe5ba901dc7a59ece06f2..c4a8054666b1b28812a72c42755db8f1fb9348a0 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -@@ -714,7 +714,14 @@ public abstract class AbstractArrow extends Projectile { +@@ -729,7 +729,14 @@ public abstract class AbstractArrow extends Projectile { @Override public void setOwner(@Nullable Entity entity) { @@ -24,7 +24,7 @@ index d43f7c44e4f7769654b92b130246822d68697f7d..8ce573042ea87631eb6539f2a0d50366 byte b0 = 0; diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 52d539d54113c4dcd2d8d748ae0abf6dec5bfc72..bf2e79c50092acd13e97ab6e32471a9c527a524e 100644 +index c1b39e6fda0b2003e5e28ef94d13546497cbb79f..4c71642474d97d1943db302947a4566a326b9ac3 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java @@ -353,7 +353,13 @@ public abstract class Projectile extends Entity implements TraceableEntity { diff --git a/patches/unapplied/server/1003-Check-for-block-type-in-SculkSensorBlock-canActivate.patch b/patches/server/1001-Check-for-block-type-in-SculkSensorBlock-canActivate.patch similarity index 85% rename from patches/unapplied/server/1003-Check-for-block-type-in-SculkSensorBlock-canActivate.patch rename to patches/server/1001-Check-for-block-type-in-SculkSensorBlock-canActivate.patch index b06a0b6c33..6232a450ee 100644 --- a/patches/unapplied/server/1003-Check-for-block-type-in-SculkSensorBlock-canActivate.patch +++ b/patches/server/1001-Check-for-block-type-in-SculkSensorBlock-canActivate.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Check for block type in SculkSensorBlock#canActivate diff --git a/src/main/java/net/minecraft/world/level/block/SculkSensorBlock.java b/src/main/java/net/minecraft/world/level/block/SculkSensorBlock.java -index 22d299a19f19ad5dd13262792ae448311d1ea3e4..0ed449a188d98f87dbddd2d76009fed02a29ed25 100644 +index 9d9c02b17827542a1e90d8d650eff4cae30ea665..bee8b26358034b2a007cd708cf52995887bf827e 100644 --- a/src/main/java/net/minecraft/world/level/block/SculkSensorBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SculkSensorBlock.java -@@ -219,7 +219,7 @@ public class SculkSensorBlock extends BaseEntityBlock implements SimpleWaterlogg +@@ -214,7 +214,7 @@ public class SculkSensorBlock extends BaseEntityBlock implements SimpleWaterlogg } public static boolean canActivate(BlockState state) { diff --git a/patches/unapplied/server/1004-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/server/1002-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch similarity index 98% rename from patches/unapplied/server/1004-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch rename to patches/server/1002-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch index efecb93aad..f1ae0ae4f5 100644 --- a/patches/unapplied/server/1004-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch +++ b/patches/server/1002-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add API for CanPlaceOn and CanDestroy NBT values diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 3a4b88122fff891632a5dfc7787365eb22d33edb..f246df4e117dddd08ae6314050ad3e73114d765b 100644 +index cf4001d81a506620083dc6398e5a2eee1c97bf4b..4f2a8075679e050626f15590f6af4804f6edf446 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -2500,4 +2500,119 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2521,4 +2521,119 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } // Paper end diff --git a/patches/unapplied/server/1005-Configuration-for-horizontal-only-item-merging.patch b/patches/server/1003-Configuration-for-horizontal-only-item-merging.patch similarity index 100% rename from patches/unapplied/server/1005-Configuration-for-horizontal-only-item-merging.patch rename to patches/server/1003-Configuration-for-horizontal-only-item-merging.patch diff --git a/patches/unapplied/server/1006-Add-skipping-world-symlink-scan.patch b/patches/server/1004-Add-skipping-world-symlink-scan.patch similarity index 100% rename from patches/unapplied/server/1006-Add-skipping-world-symlink-scan.patch rename to patches/server/1004-Add-skipping-world-symlink-scan.patch diff --git a/patches/unapplied/server/1007-Add-even-more-Enchantment-API.patch b/patches/server/1005-Add-even-more-Enchantment-API.patch similarity index 100% rename from patches/unapplied/server/1007-Add-even-more-Enchantment-API.patch rename to patches/server/1005-Add-even-more-Enchantment-API.patch diff --git a/patches/unapplied/server/1008-Leashable-API.patch b/patches/server/1006-Leashable-API.patch similarity index 95% rename from patches/unapplied/server/1008-Leashable-API.patch rename to patches/server/1006-Leashable-API.patch index f3cf7dc395..8c073cfcde 100644 --- a/patches/unapplied/server/1008-Leashable-API.patch +++ b/patches/server/1006-Leashable-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Leashable API diff --git a/src/main/java/io/papermc/paper/entity/PaperLeashable.java b/src/main/java/io/papermc/paper/entity/PaperLeashable.java new file mode 100644 -index 0000000000000000000000000000000000000000..a9ddf9a4a07cd29833f38d7e5f42b2b14ec98f78 +index 0000000000000000000000000000000000000000..90b173e50cb880f70ab8b659b067487e3bbdcdbd --- /dev/null +++ b/src/main/java/io/papermc/paper/entity/PaperLeashable.java @@ -0,0 +1,50 @@ @@ -37,7 +37,7 @@ index 0000000000000000000000000000000000000000..a9ddf9a4a07cd29833f38d7e5f42b2b1 + return false; + } + -+ this.getHandle().dropLeash(true, false); ++ this.getHandle().removeLeash(); + return true; + } + @@ -74,7 +74,7 @@ index ff82dc98478a8ac564bdbf4ec58da612e5f6c2ce..2a2839c31989d127739d829159a8b6e5 public CraftBoat(CraftServer server, AbstractBoat entity) { super(server, entity); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index f16067b674118a47735ad22797988d50b4415040..d0c409f4efad289e3e325f44b500fc72589d89d4 100644 +index db0253c545bd06f872dd8b7b105fe4398980b173..bc8e52e3f2a1dccecdaea2719eacd127bf82ee09 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -784,43 +784,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -98,7 +98,7 @@ index f16067b674118a47735ad22797988d50b4415040..d0c409f4efad289e3e325f44b500fc72 - if (!this.isLeashed()) { - return false; - } -- ((Mob) this.getHandle()).dropLeash(true, false); +- ((Mob) this.getHandle()).removeLeash(); - return true; + throw new IllegalStateException("Entity not leashed"); // Paper - implement in CraftMob & PaperLeashable } diff --git a/patches/unapplied/server/0857-Add-PlayerPickItemEvent.patch b/patches/unapplied/server/0857-Add-PlayerPickItemEvent.patch deleted file mode 100644 index b23a4f152a..0000000000 --- a/patches/unapplied/server/0857-Add-PlayerPickItemEvent.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: RodneyMKay <36546810+RodneyMKay@users.noreply.github.com> -Date: Wed, 8 Sep 2021 21:34:01 +0200 -Subject: [PATCH] Add PlayerPickItemEvent - - -diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c3a53db9f611f160bd4b8662498f5ac0e988c5d1..38730e11118bf71d167a18b807e06c20ea0d63d0 100644 ---- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -947,7 +947,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - this.disconnect(Component.literal("Invalid hotbar selection (Hacking?)"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause - return; - } -- this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed -+ // Paper start - Add PlayerPickItemEvent -+ // this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed - moved down -+ Player bukkitPlayer = this.player.getBukkitEntity(); -+ int targetSlot = this.player.getInventory().getSuitableHotbarSlot(); -+ int sourceSlot = packet.getSlot(); -+ -+ io.papermc.paper.event.player.PlayerPickItemEvent event = new io.papermc.paper.event.player.PlayerPickItemEvent(bukkitPlayer, targetSlot, sourceSlot); -+ if (!event.callEvent()) return; -+ // Paper end - Add PlayerPickItemEvent -+ -+ this.player.getInventory().pickSlot(event.getSourceSlot(), event.getTargetSlot()); // Paper - Add PlayerPickItemEvent - // Paper end - validate pick item position - int i = this.player.getInventory().selected; - -diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java -index 8bdc2dd7e6b6824f4df5dce8bff5e87fa73d3d3a..aaff1592876ac4a967e4fd47e4b6619a17d57867 100644 ---- a/src/main/java/net/minecraft/world/entity/player/Inventory.java -+++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java -@@ -170,7 +170,13 @@ public class Inventory implements Container, Nameable { - } - - public void pickSlot(int slot) { -- this.selected = this.getSuitableHotbarSlot(); -+ // Paper start - Add PlayerPickItemEvent -+ pickSlot(slot, this.getSuitableHotbarSlot()); -+ } -+ -+ public void pickSlot(int slot, int targetSlot) { -+ this.selected = targetSlot; -+ // Paper end - Add PlayerPickItemEvent - ItemStack itemstack = (ItemStack) this.items.get(this.selected); - - this.items.set(this.selected, (ItemStack) this.items.get(slot));