From f521a18a17f32997793b2d0b2ebcd7890f200fc8 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Wed, 4 Aug 2021 16:26:56 +0100 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 75a0ee4f SPIGOT-6691: Material.LAVA_CAULDRON is not Levelled CraftBukkit Changes: e1c96e50 SPIGOT-6682: Blocking with shield not reset after die 97f629b6 SPIGOT-6220: Structures in the world with custom generator not work 85379258 Increase outdated build delay f7f8dce4 SPIGOT-6552: Some inventory types reset cursor on switch --- patches/api/0155-Material-API-additions.patch | 4 ++-- ...et-translation-keys-for-blocks-entitie.patch | 6 +++--- ...7-Cache-the-result-of-Material-isBlock.patch | 8 ++++---- patches/api/0284-Item-Rarity-API.patch | 6 +++--- .../0311-Attributes-API-for-item-defaults.patch | 4 ++-- patches/server/0003-Build-system-changes.patch | 4 ++-- patches/server/0010-Adventure.patch | 8 ++++---- ...client-crashes-server-lists-and-Mojang.patch | 4 ++-- ...0086-Implement-PlayerLocaleChangeEvent.patch | 8 ++++---- ...0123-Properly-fix-item-duplication-bug.patch | 4 ++-- .../server/0152-Fix-this-stupid-bullshit.patch | 4 ++-- .../0220-InventoryCloseEvent-Reason-API.patch | 17 ++++------------- ...ectator-target-events-and-improve-impl.patch | 4 ++-- ...0285-Reset-players-airTicks-on-respawn.patch | 6 +++--- ...r-vehicle-tracking-issue-on-disconnect.patch | 4 ++-- ...revent-opening-inventories-when-frozen.patch | 6 +++--- ...13-Implement-Player-Client-Options-API.patch | 6 +++--- .../0571-Player-Chunk-Load-Unload-Events.patch | 4 ++-- ...additions-to-PlayerGameModeChangeEvent.patch | 12 ++++++------ .../0712-Add-Feature-Generation-API.patch | 4 ++-- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 22 files changed, 59 insertions(+), 68 deletions(-) diff --git a/patches/api/0155-Material-API-additions.patch b/patches/api/0155-Material-API-additions.patch index c740ab3a4..bd9c0c662 100644 --- a/patches/api/0155-Material-API-additions.patch +++ b/patches/api/0155-Material-API-additions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Material API additions diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index da9f91d0a1d20839cfbc4e564f4987cda440f2ac..52290c43d1c02785c4cae4a73494a75cdc369e02 100644 +index e12e319bb16e8462614dc693c859e6d33ef87f28..e7af2b346253cf05923998527bdc27b1180fa3b6 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -99,6 +99,7 @@ import org.jetbrains.annotations.Nullable; @@ -16,7 +16,7 @@ index da9f91d0a1d20839cfbc4e564f4987cda440f2ac..52290c43d1c02785c4cae4a73494a75c public enum Material implements Keyed { // AIR(9648, 0), -@@ -3977,6 +3978,22 @@ public enum Material implements Keyed { +@@ -3974,6 +3975,22 @@ public enum Material implements Keyed { } } diff --git a/patches/api/0225-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch b/patches/api/0225-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch index c9c652738..bfacede2d 100644 --- a/patches/api/0225-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch +++ b/patches/api/0225-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add a way to get translation keys for blocks, entities and diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 52290c43d1c02785c4cae4a73494a75cdc369e02..1efc97d88c38863bcd6cd4c11c8b88a18ee06b25 100644 +index e7af2b346253cf05923998527bdc27b1180fa3b6..90047af133a2e2e0268f84f038e5c19dac48e3d2 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -3992,6 +3992,16 @@ public enum Material implements Keyed { +@@ -3989,6 +3989,16 @@ public enum Material implements Keyed { } return false; } @@ -104,7 +104,7 @@ index 9be5371c7f398d0ec8241403661415ff40661067..f415b61b0d4b57e1557aaf240a0f2ad5 + } } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 93ab6407ff09fa5e90e2d8e92fd43a4f95d9a6fa..d11ebe61560e652fe96b3b0c7ab9174788ff83cb 100644 +index b80ef2e5c23764ee68f809268185492bf5577913..f2c8ffaf8b62707e7806012d41f9cd7be1638ed9 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -852,5 +852,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor diff --git a/patches/api/0277-Cache-the-result-of-Material-isBlock.patch b/patches/api/0277-Cache-the-result-of-Material-isBlock.patch index 294e16cf3..c036dea12 100644 --- a/patches/api/0277-Cache-the-result-of-Material-isBlock.patch +++ b/patches/api/0277-Cache-the-result-of-Material-isBlock.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache the result of Material#isBlock diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 1efc97d88c38863bcd6cd4c11c8b88a18ee06b25..5ff032f73d88dd91163ff3e6c89dcd0d1507228c 100644 +index 90047af133a2e2e0268f84f038e5c19dac48e3d2..1edfa68a52f988b34652e98faffeabde4f0cc99a 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -3936,6 +3936,7 @@ public enum Material implements Keyed { +@@ -3933,6 +3933,7 @@ public enum Material implements Keyed { public final Class data; private final boolean legacy; private final NamespacedKey key; @@ -16,7 +16,7 @@ index 1efc97d88c38863bcd6cd4c11c8b88a18ee06b25..5ff032f73d88dd91163ff3e6c89dcd0d private Material(final int id) { this(id, 64); -@@ -4133,6 +4134,11 @@ public enum Material implements Keyed { +@@ -4130,6 +4131,11 @@ public enum Material implements Keyed { * @return true if this material is a block */ public boolean isBlock() { @@ -28,7 +28,7 @@ index 1efc97d88c38863bcd6cd4c11c8b88a18ee06b25..5ff032f73d88dd91163ff3e6c89dcd0d switch (this) { // case ACACIA_BUTTON: -@@ -5214,6 +5220,7 @@ public enum Material implements Keyed { +@@ -5211,6 +5217,7 @@ public enum Material implements Keyed { static { for (Material material : values()) { BY_NAME.put(material.name(), material); diff --git a/patches/api/0284-Item-Rarity-API.patch b/patches/api/0284-Item-Rarity-API.patch index 0eba86371..d177f112f 100644 --- a/patches/api/0284-Item-Rarity-API.patch +++ b/patches/api/0284-Item-Rarity-API.patch @@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..74ef8395cc040ce488c2acaa416db202 + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 5ff032f73d88dd91163ff3e6c89dcd0d1507228c..a9bcb123526da0881728070d36aea37612db8cf2 100644 +index 1edfa68a52f988b34652e98faffeabde4f0cc99a..b83c504be7a8d0905d401b421c4274a58f70866c 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4003,6 +4003,17 @@ public enum Material implements Keyed { +@@ -4000,6 +4000,17 @@ public enum Material implements Keyed { public String getTranslationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } @@ -88,7 +88,7 @@ index 84eda68281c6c6968d95b1313a33696c3a9980d4..bcd10b2c9255d778b678310febf19373 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index d11ebe61560e652fe96b3b0c7ab9174788ff83cb..e8f4543131d293beaa1fe9b44e2e98f27bc5dc79 100644 +index f2c8ffaf8b62707e7806012d41f9cd7be1638ed9..0cb944652dc6d77a2cbeaf0d420fb694924b5b60 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -864,5 +864,15 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor diff --git a/patches/api/0311-Attributes-API-for-item-defaults.patch b/patches/api/0311-Attributes-API-for-item-defaults.patch index f3107ae52..8dbfaf230 100644 --- a/patches/api/0311-Attributes-API-for-item-defaults.patch +++ b/patches/api/0311-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index a9bcb123526da0881728070d36aea37612db8cf2..d635c4fb85d3eeea3853037b2da5881c4853b193 100644 +index b83c504be7a8d0905d401b421c4274a58f70866c..08eb0cc65308c5d4078814a0bccf84142737e87a 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4014,6 +4014,19 @@ public enum Material implements Keyed { +@@ -4011,6 +4011,19 @@ public enum Material implements Keyed { public io.papermc.paper.inventory.ItemRarity getItemRarity() { return Bukkit.getUnsafe().getItemRarity(this); } diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch index 1a8aa3331..6e40d4ec2 100644 --- a/patches/server/0003-Build-system-changes.patch +++ b/patches/server/0003-Build-system-changes.patch @@ -71,7 +71,7 @@ index 8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c..31343d49cf38063976e0f8c93264a4f3 "org.eclipse.aether", "org.eclipse.sisu", "org.objectweb.asm" ).forEach { pack -> diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index b06a4c8f5e1dfcbda171910279d6861dc3d4d2e7..7f818c6bed25e0b793cca268b786f61440c429ef 100644 +index 705486f8b02957c131d464bfd862247c555d2d51..2e22decfc52951ae32987c5147438e793227bd13 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -190,7 +190,7 @@ public class Main { @@ -82,7 +82,7 @@ index b06a4c8f5e1dfcbda171910279d6861dc3d4d2e7..7f818c6bed25e0b793cca268b786f614 + Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -7); + deadline.add(Calendar.DAY_OF_YEAR, -28); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java index 93046379d0cefd5d3236fc59e698809acdc18f80..774556a62eb240da42e84db4502e2ed43495be17 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 19a929843..86c4acca9 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -1223,7 +1223,7 @@ index 762a9392ffac3042356709dddd15bb3516048bed..3544e2dc2522e9d6305d727d56e73490 buf.writeComponent(this.footer); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 504862eae87d4b58d9588b383993a44919d66759..a8a0f65d99ed062467e50a79349dc6b56f325709 100644 +index 83c8fd73ef575aff6880582a958a61a9c466edba..a65377c410a921136db697a7016a2ffdcc8dd5a1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -146,6 +146,7 @@ import net.minecraft.world.scores.Score; @@ -1278,7 +1278,7 @@ index 504862eae87d4b58d9588b383993a44919d66759..a8a0f65d99ed062467e50a79349dc6b5 this.connection.send((Packet) (new ClientboundPlayerCombatKillPacket(this.getCombatTracker(), ichatbasecomponent)), (future) -> { if (!future.isSuccess()) { -@@ -1698,6 +1695,7 @@ public class ServerPlayer extends Player { +@@ -1702,6 +1699,7 @@ public class ServerPlayer extends Player { } public String locale = "en_us"; // CraftBukkit - add, lowercase @@ -1286,7 +1286,7 @@ index 504862eae87d4b58d9588b383993a44919d66759..a8a0f65d99ed062467e50a79349dc6b5 public void updateOptions(ServerboundClientInformationPacket packet) { // CraftBukkit start if (getMainArm() != packet.getMainHand()) { -@@ -1709,6 +1707,10 @@ public class ServerPlayer extends Player { +@@ -1713,6 +1711,10 @@ public class ServerPlayer extends Player { this.server.server.getPluginManager().callEvent(event); } this.locale = packet.language; @@ -1845,7 +1845,7 @@ index 02d8cfeaea105d42a437b08c3ba59c50eda5a452..6ba6e88174644cfea81445f1e8483e81 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 1ac3243555c2c61d6b6717e6826539d9d6a3248b..4d1f1f1438da0cb41188a89c23f6d295b6840808 100644 +index 5944e75b9501a3f9f25be5efe11351dd337158c5..e4cd36cf6626ad702ee654587b2f8c5442e4fe2b 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -19,6 +19,12 @@ public class Main { diff --git a/patches/server/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 3a213595a..e3ef06fea 100644 --- a/patches/server/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -45,11 +45,11 @@ index 6ba6e88174644cfea81445f1e8483e8118744027..fdf877a717f07187eeee98f0203e70d7 private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 4d1f1f1438da0cb41188a89c23f6d295b6840808..12ff16869c01aa5459274ae70bad5c9f91f5acbb 100644 +index e4cd36cf6626ad702ee654587b2f8c5442e4fe2b..5a4da412a38b24bf5bc5022e76ac7d638ca82995 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -210,12 +210,25 @@ public class Main { - deadline.add(Calendar.DAY_OF_YEAR, -7); + deadline.add(Calendar.DAY_OF_YEAR, -28); if (buildDate.before(deadline.getTime())) { System.err.println("*** Error, this build is outdated ***"); - System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***"); diff --git a/patches/server/0086-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0086-Implement-PlayerLocaleChangeEvent.patch index e96489117..c30e621c6 100644 --- a/patches/server/0086-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0086-Implement-PlayerLocaleChangeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerLocaleChangeEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3f676bab4448de3658a4c631916740be7be6a193..a21496bc07c4691b99f9f58a0493e6e054c02641 100644 +index 68bc585a446585bfc3922db8e4539a25f846e308..2903f3d98949b5a582bf7996b73083f1941a664d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1703,7 +1703,7 @@ public class ServerPlayer extends Player { +@@ -1707,7 +1707,7 @@ public class ServerPlayer extends Player { return s; } @@ -17,7 +17,7 @@ index 3f676bab4448de3658a4c631916740be7be6a193..a21496bc07c4691b99f9f58a0493e6e0 public java.util.Locale adventure$locale = java.util.Locale.US; // Paper public void updateOptions(ServerboundClientInformationPacket packet) { // CraftBukkit start -@@ -1711,9 +1711,10 @@ public class ServerPlayer extends Player { +@@ -1715,9 +1715,10 @@ public class ServerPlayer extends Player { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); this.server.server.getPluginManager().callEvent(event); } @@ -30,7 +30,7 @@ index 3f676bab4448de3658a4c631916740be7be6a193..a21496bc07c4691b99f9f58a0493e6e0 this.locale = packet.language; // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c1f8f0d616a480078abb83eff1c2ccf5b3488f45..596ef79ea50c7c01a87ab37962195deb5327ccb5 100644 +index a027b08d34993d920ded7e94e278314431c182ce..e9fd0737fb122e2beb12898a2d082aebd11604ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1900,8 +1900,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0123-Properly-fix-item-duplication-bug.patch b/patches/server/0123-Properly-fix-item-duplication-bug.patch index 14090bab6..ce790a058 100644 --- a/patches/server/0123-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0123-Properly-fix-item-duplication-bug.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d5bdf1e58bf48b5738e98159afb54630220af5b0..823fc38b5bbf5eac2d2e7cc48c4b0557d252f960 100644 +index 56599cda3b8fcb61fc34d23b8bdc81fe2b8cebd7..b40d1e5692b476df939a8378af7c1c2b2ebcf1f7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2123,7 +2123,7 @@ public class ServerPlayer extends Player { +@@ -2127,7 +2127,7 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { diff --git a/patches/server/0152-Fix-this-stupid-bullshit.patch b/patches/server/0152-Fix-this-stupid-bullshit.patch index 88c526559..90a2e5b6f 100644 --- a/patches/server/0152-Fix-this-stupid-bullshit.patch +++ b/patches/server/0152-Fix-this-stupid-bullshit.patch @@ -31,12 +31,12 @@ index c7d5018cb6acef12e6da90626c75543ac279a101..64576ddd8363be55755fa50d1c16d95e Bootstrap.isBootstrapped = true; if (Registry.REGISTRY.keySet().isEmpty()) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 806e5e55ea2596d221e375f7a005488abef33d19..d087645dd83b4c4748cfe0dc151e31e195affdfe 100644 +index b91f4e86ae2e9ea4e55d3c8d935cb79d7844d0e0..920ba98fdd82ae3f9d507c940020d3142a466682 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -228,10 +228,12 @@ public class Main { Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -7); + deadline.add(Calendar.DAY_OF_YEAR, -28); if (buildDate.before(deadline.getTime())) { - System.err.println("*** Error, this build is outdated ***"); + // Paper start - This is some stupid bullshit diff --git a/patches/server/0220-InventoryCloseEvent-Reason-API.patch b/patches/server/0220-InventoryCloseEvent-Reason-API.patch index 982946191..963f88c9b 100644 --- a/patches/server/0220-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0220-InventoryCloseEvent-Reason-API.patch @@ -29,7 +29,7 @@ index d06fa20dd605e9ce0e41a4d69ffeec98bceb3a63..19f8e74f292e83f7438683efddbaa493 } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index fb42d7e3a1a23c02e8fd2cc04e6986ead581018c..2c32d7c37d7d9b9c12c5af3a9af576ac88618049 100644 +index ecee9d7b4c6fd9defbc1a8ddcffb3221df3587b2..4b554a9556bf29334eaaf9d4f14643ee246899c9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -598,7 +598,7 @@ public class ServerPlayer extends Player { @@ -50,16 +50,7 @@ index fb42d7e3a1a23c02e8fd2cc04e6986ead581018c..2c32d7c37d7d9b9c12c5af3a9af576ac } net.kyori.adventure.text.Component deathMessage = event.deathMessage() != null ? event.deathMessage() : net.kyori.adventure.text.Component.empty(); // Paper - Adventure -@@ -1337,7 +1337,7 @@ public class ServerPlayer extends Player { - return OptionalInt.empty(); - } else { - if (this.containerMenu != this.inventoryMenu) { -- this.closeContainer(); -+ this.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.OPEN_NEW); // Paper - } - - this.nextContainerCounter(); -@@ -1397,7 +1397,7 @@ public class ServerPlayer extends Player { +@@ -1401,7 +1401,7 @@ public class ServerPlayer extends Player { } // CraftBukkit end if (this.containerMenu != this.inventoryMenu) { @@ -68,7 +59,7 @@ index fb42d7e3a1a23c02e8fd2cc04e6986ead581018c..2c32d7c37d7d9b9c12c5af3a9af576ac } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1426,7 +1426,13 @@ public class ServerPlayer extends Player { +@@ -1430,7 +1430,13 @@ public class ServerPlayer extends Player { @Override public void closeContainer() { @@ -127,7 +118,7 @@ index 1ae11a88b2ab49c13155e2cf41252c8716f30b96..8be7cf4533792315965c4e227b0ef73d PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(entityplayer.getBukkitEntity(), net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, com.destroystokyo.paper.PaperConfig.useDisplayNameInQuit ? entityplayer.getBukkitEntity().displayName() : net.kyori.adventure.text.Component.text(entityplayer.getScoreboardName()))); 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 3db5b3adb9fe4a1682b0a4e75ae3e1f6febb7822..5dc5c12f341282f296082ce9c972808b8f155b1d 100644 +index 72b7c6654c68daa2591d55ff62d4a6ba7ae25618..744d8c049e753c0e07cf064597a086ccf6d3f3ea 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -264,7 +264,7 @@ public abstract class Player extends LivingEntity { diff --git a/patches/server/0279-Call-player-spectator-target-events-and-improve-impl.patch b/patches/server/0279-Call-player-spectator-target-events-and-improve-impl.patch index 94aced826..06f4cdc84 100644 --- a/patches/server/0279-Call-player-spectator-target-events-and-improve-impl.patch +++ b/patches/server/0279-Call-player-spectator-target-events-and-improve-impl.patch @@ -19,10 +19,10 @@ spectate the target entity. Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b4d2b9a25ee1c407b3803d59c4fd80f793873192..924d69db24158c3cb72e2fb569a38225c9cf8f89 100644 +index e73046e6d322ddc0feb4979ec0038c4a56778ed9..1db6027543a11d46b97b72d0a7a0f37f929c81e1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1818,14 +1818,58 @@ public class ServerPlayer extends Player { +@@ -1822,14 +1822,58 @@ public class ServerPlayer extends Player { } public void setCamera(Entity entity) { diff --git a/patches/server/0285-Reset-players-airTicks-on-respawn.patch b/patches/server/0285-Reset-players-airTicks-on-respawn.patch index ef7522583..19a13a46d 100644 --- a/patches/server/0285-Reset-players-airTicks-on-respawn.patch +++ b/patches/server/0285-Reset-players-airTicks-on-respawn.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 924d69db24158c3cb72e2fb569a38225c9cf8f89..635aa1cf7343a242fb01a49f2215d2af25a09760 100644 +index 1db6027543a11d46b97b72d0a7a0f37f929c81e1..be7707a4aa96ededc72daad3de3d9f926bd2e5da 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2216,6 +2216,7 @@ public class ServerPlayer extends Player { - } +@@ -2221,6 +2221,7 @@ public class ServerPlayer extends Player { this.setHealth(this.getMaxHealth()); + this.stopUsingItem(); // CraftBukkit - SPIGOT-6682: Clear active item on reset + this.setAirSupply(this.getMaxAirSupply()); // Paper this.remainingFireTicks = 0; this.fallDistance = 0; diff --git a/patches/server/0303-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/patches/server/0303-Workaround-for-vehicle-tracking-issue-on-disconnect.patch index f4077c28b..35b35ab4b 100644 --- a/patches/server/0303-Workaround-for-vehicle-tracking-issue-on-disconnect.patch +++ b/patches/server/0303-Workaround-for-vehicle-tracking-issue-on-disconnect.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d2667305c73821df221cf9aaca2ca494aa1836ad..958d796a09e9a33b36285e9a1465b981f6d919ac 100644 +index 95690ac3b3404ebe3d2308aaee09d9ec52b8f76d..8d932e57392a472dae08ada6a72a35636401f4f8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1534,6 +1534,13 @@ public class ServerPlayer extends Player { +@@ -1538,6 +1538,13 @@ public class ServerPlayer extends Player { public void disconnect() { this.disconnected = true; this.ejectPassengers(); diff --git a/patches/server/0409-Prevent-opening-inventories-when-frozen.patch b/patches/server/0409-Prevent-opening-inventories-when-frozen.patch index f05369874..205237803 100644 --- a/patches/server/0409-Prevent-opening-inventories-when-frozen.patch +++ b/patches/server/0409-Prevent-opening-inventories-when-frozen.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent opening inventories when frozen diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f555559f88634a1ec962dedd3fc96e044546f496..22aefdc7a096993c15c9b4e2f37ad84d1279a2df 100644 +index 14f5f6b99c51c51b1c8a7d54e58627ae71caf134..d2cc6e37f115eca94acbb595b974f8dfde69077a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -610,7 +610,7 @@ public class ServerPlayer extends Player { @@ -17,7 +17,7 @@ index f555559f88634a1ec962dedd3fc96e044546f496..22aefdc7a096993c15c9b4e2f37ad84d this.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.CANT_USE); // Paper this.containerMenu = this.inventoryMenu; } -@@ -1451,7 +1451,7 @@ public class ServerPlayer extends Player { +@@ -1455,7 +1455,7 @@ public class ServerPlayer extends Player { } else { // CraftBukkit start this.containerMenu = container; @@ -27,7 +27,7 @@ index f555559f88634a1ec962dedd3fc96e044546f496..22aefdc7a096993c15c9b4e2f37ad84d this.initMenu(container); return OptionalInt.of(this.containerCounter); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index a9f8ffa1772de39c74394f8cf324ab77ff4e0450..c52a075ebc9ff041d9b08c38ed02dee80dd15bb9 100644 +index 460828d29583ee21a7c5b716f9687a8243911a7e..8836e8cf912948199f0233c3ec22b079268db79d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -322,7 +322,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/patches/server/0413-Implement-Player-Client-Options-API.patch b/patches/server/0413-Implement-Player-Client-Options-API.patch index 8df057868..a044832ad 100644 --- a/patches/server/0413-Implement-Player-Client-Options-API.patch +++ b/patches/server/0413-Implement-Player-Client-Options-API.patch @@ -85,10 +85,10 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 22aefdc7a096993c15c9b4e2f37ad84d1279a2df..3cab5fbfc1cae65efbf53b69cc0da012370f9a17 100644 +index d2cc6e37f115eca94acbb595b974f8dfde69077a..a58424219a2aed13494b174632acee36a9b800d3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1803,6 +1803,7 @@ public class ServerPlayer extends Player { +@@ -1807,6 +1807,7 @@ public class ServerPlayer extends Player { public String locale = null; // CraftBukkit - add, lowercase // Paper - default to null public java.util.Locale adventure$locale = java.util.Locale.US; // Paper public void updateOptions(ServerboundClientInformationPacket packet) { @@ -97,7 +97,7 @@ index 22aefdc7a096993c15c9b4e2f37ad84d1279a2df..3cab5fbfc1cae65efbf53b69cc0da012 if (getMainArm() != packet.getMainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0a0ffdd0cb4fb2750c8b7939fb36e12190b6b085..7fc48e63ac610f65475e3a8d3d6f902cc70925ed 100644 +index 52a183a2bbea41fe4234fd141a47081c8c161d66..173cc4b6dc37359aadb0d124e0158a165e53177f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -521,6 +521,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0571-Player-Chunk-Load-Unload-Events.patch b/patches/server/0571-Player-Chunk-Load-Unload-Events.patch index 491cb0d82..61b8d7f36 100644 --- a/patches/server/0571-Player-Chunk-Load-Unload-Events.patch +++ b/patches/server/0571-Player-Chunk-Load-Unload-Events.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player Chunk Load/Unload Events diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 979c3c08024f398997cd9f27bdff36391cc584a9..3fce21f8a7a48099dd6c2cce6b96fcae7975ac96 100644 +index 2310ad5d89f9184d11c3f2d8de211425b81858df..6e6cfb0a0c27c69fcd749ffae42ef4ea9a7eeaec 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2090,11 +2090,21 @@ public class ServerPlayer extends Player { +@@ -2094,11 +2094,21 @@ public class ServerPlayer extends Player { public void trackChunk(ChunkPos chunkPos, Packet chunkDataPacket, Packet lightUpdatePacket) { this.connection.send(lightUpdatePacket); this.connection.send(chunkDataPacket); diff --git a/patches/server/0683-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0683-additions-to-PlayerGameModeChangeEvent.patch index 3675608e4..49330bab4 100644 --- a/patches/server/0683-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0683-additions-to-PlayerGameModeChangeEvent.patch @@ -45,10 +45,10 @@ index d75f78d2e3fb1376e8f6a8668c98a04a693c99e1..79f6089b934124c3309c6bee2e48b36b } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 91a03f4ed215c882d2ae930402220e4cbbf1ea00..8e2bccc3a9ddb17a4978596056189eb776976338 100644 +index 89be85b24643f91223d9928059700ace0f452be9..5b2b6747768e638423c86ce13a419f5a3f63d30d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1786,8 +1786,15 @@ public class ServerPlayer extends Player { +@@ -1790,8 +1790,15 @@ public class ServerPlayer extends Player { } public boolean setGameMode(GameType gameMode) { @@ -66,7 +66,7 @@ index 91a03f4ed215c882d2ae930402220e4cbbf1ea00..8e2bccc3a9ddb17a4978596056189eb7 } else { this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId())); if (gameMode == GameType.SPECTATOR) { -@@ -1799,7 +1806,7 @@ public class ServerPlayer extends Player { +@@ -1803,7 +1810,7 @@ public class ServerPlayer extends Player { this.onUpdateAbilities(); this.updateEffectVisibility(); @@ -75,7 +75,7 @@ index 91a03f4ed215c882d2ae930402220e4cbbf1ea00..8e2bccc3a9ddb17a4978596056189eb7 } } -@@ -2181,6 +2188,14 @@ public class ServerPlayer extends Player { +@@ -2185,6 +2192,14 @@ public class ServerPlayer extends Player { } public void loadGameTypes(@Nullable CompoundTag nbt) { @@ -124,7 +124,7 @@ index 5ef649dec31ba6d6b74a7bd757727ffd2a79d71e..1c83fbc96a074c85a3e349e936ff1f31 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a0a2839f4c746f1a76b700241da0a32c2736a558..fa77ff7be0f9d499461de0f42da302fca2a43c9f 100644 +index 814a937d41b7887d94fe50f670236bab224d9886..ed7f43ad0fe7baf7c968ec214f1e32b8c5aa1cd5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2449,7 +2449,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -137,7 +137,7 @@ index a0a2839f4c746f1a76b700241da0a32c2736a558..fa77ff7be0f9d499461de0f42da302fc } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 418aa0d31fae7c5fa9c0826ef99ac00729c2de71..26ffc901c3a57cb0d85982083d2b0eb6e0f26b69 100644 +index 49a92f08188a22f62758f53129c352a1f5cf80a4..e2f22b8c56492722c5e7d42d1d4da32a46ab76c7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1250,7 +1250,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0712-Add-Feature-Generation-API.patch b/patches/server/0712-Add-Feature-Generation-API.patch index 7e0d2b96b..3759ec2d4 100644 --- a/patches/server/0712-Add-Feature-Generation-API.patch +++ b/patches/server/0712-Add-Feature-Generation-API.patch @@ -126,10 +126,10 @@ index 0000000000000000000000000000000000000000..69b17fe56f28f8978abc3f363a9e805d +} + diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java -index 6450dbe4e4e9a5f2b5dc3d783aa97e69e296033d..cffb0586bf6c98e90588185c10e8f5dd76bc489b 100644 +index fc342d2f74077f8f102c731e12f27fc6f2c1bcd4..d333812188b24f228d7d3329da24cba2c9e00e6c 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java -@@ -196,6 +196,12 @@ public class CustomChunkGenerator extends InternalChunkGenerator { +@@ -204,6 +204,12 @@ public class CustomChunkGenerator extends InternalChunkGenerator { if (this.generator.shouldGenerateDecorations()) { this.delegate.applyBiomeDecoration(region, accessor); } diff --git a/work/Bukkit b/work/Bukkit index e7b0f8d60..75a0ee4f0 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit e7b0f8d608d8ee93768cc81d128b2eb5e21fcd8f +Subproject commit 75a0ee4f0481a29f71142a9c0c11e26b1e0d79db diff --git a/work/CraftBukkit b/work/CraftBukkit index 6788550f7..e1c96e507 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 6788550f7e7c8dbe779f8acf442af36313de9996 +Subproject commit e1c96e507f7019e30e353166645d6dbeaa6c1482