From ac1a62649313cc64dbc130b9399b79053d200c86 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Wed, 7 Jun 2023 16:56:33 -0700 Subject: [PATCH] 45 more patches --- ...ng-Trader-spawn-rate-config-options.patch} | 0 .../0485-Expose-world-spawn-angle.patch} | 4 +-- .../0486-Add-Destroy-Speed-API.patch} | 2 +- ...-spawnParticle-x-y-z-precision-loss.patch} | 4 +-- ...88-Add-LivingEntity-clearActiveItem.patch} | 0 .../0489-Add-PlayerItemCooldownEvent.patch} | 0 ...rove-performance-of-the-end-generat.patch} | 0 .../0491-More-lightning-API.patch} | 0 ...should-not-bypass-cramming-gamerule.patch} | 36 +++++++++---------- ...-missing-default-perms-for-commands.patch} | 0 .../0494-Add-PlayerShearBlockEvent.patch} | 2 +- ...ng-zombie-villager-discount-exploit.patch} | 4 +-- .../0496-Limit-recipe-packets.patch} | 11 +++--- ...-CraftSound-backwards-compatibility.patch} | 0 ...498-Player-Chunk-Load-Unload-Events.patch} | 4 +-- ...9-Optimize-Dynamic-get-Missing-Keys.patch} | 0 ...-Expose-LivingEntity-hurt-direction.patch} | 6 ++-- ...OBSTRUCTED-reason-to-BedEnterResult.patch} | 2 +- ...-invalid-ingredient-lists-in-Villag.patch} | 2 +- ...rTradeEvent-and-PlayerPurchaseEvent.patch} | 14 ++++---- .../0504-Implement-TargetHitEvent.patch} | 0 .../0505-MC-4-Fix-item-position-desync.patch} | 10 +++--- ...506-Additional-Block-Material-API-s.patch} | 4 +-- .../0507-Fix-harming-potion-dupe.patch} | 0 ...get-Material-from-Boats-and-Minecar.patch} | 0 .../0509-Cache-burn-durations.patch} | 2 +- ...ob-spawner-spawn-egg-transformation.patch} | 2 +- ...ix-Not-a-string-Map-Conversion-spam.patch} | 2 +- ...ment-PlayerFlowerPotManipulateEvent.patch} | 0 ...event-not-being-called-in-adventure.patch} | 8 ++--- .../0514-Zombie-API-breaking-doors.patch} | 0 ...515-Fix-nerfed-slime-when-splitting.patch} | 2 +- .../0516-Add-EntityLoadCrossbowEvent.patch} | 16 +++++---- ...0517-Added-WorldGameRuleChangeEvent.patch} | 14 ++++---- ...-Added-ServerResourcesReloadedEvent.patch} | 8 ++--- ...d-settings-for-mobs-picking-up-loot.patch} | 4 +-- ...mplemented-BlockFailedDispenseEvent.patch} | 8 ++--- ...-Added-PlayerLecternPageChangeEvent.patch} | 0 ...-Added-PlayerLoomPatternSelectEvent.patch} | 2 +- ...nfigurable-door-breaking-difficulty.patch} | 4 +-- ...ty-commands-shall-not-be-dispatched.patch} | 4 +-- ...I-to-expose-exact-interaction-point.patch} | 6 ++-- .../0526-Remove-stale-POIs.patch} | 4 +-- .../0527-Fix-villager-boat-exploit.patch} | 4 +-- .../0528-Add-sendOpLevel-API.patch} | 10 +++--- 45 files changed, 104 insertions(+), 101 deletions(-) rename patches/{unapplied/server/0501-Add-Wandering-Trader-spawn-rate-config-options.patch => server/0484-Add-Wandering-Trader-spawn-rate-config-options.patch} (100%) rename patches/{unapplied/server/0502-Expose-world-spawn-angle.patch => server/0485-Expose-world-spawn-angle.patch} (87%) rename patches/{unapplied/server/0503-Add-Destroy-Speed-API.patch => server/0486-Add-Destroy-Speed-API.patch} (94%) rename patches/{unapplied/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch => server/0487-Fix-Player-spawnParticle-x-y-z-precision-loss.patch} (89%) rename patches/{unapplied/server/0505-Add-LivingEntity-clearActiveItem.patch => server/0488-Add-LivingEntity-clearActiveItem.patch} (100%) rename patches/{unapplied/server/0506-Add-PlayerItemCooldownEvent.patch => server/0489-Add-PlayerItemCooldownEvent.patch} (100%) rename patches/{unapplied/server/0507-Significantly-improve-performance-of-the-end-generat.patch => server/0490-Significantly-improve-performance-of-the-end-generat.patch} (100%) rename patches/{unapplied/server/0508-More-lightning-API.patch => server/0491-More-lightning-API.patch} (100%) rename patches/{unapplied/server/0509-Climbing-should-not-bypass-cramming-gamerule.patch => server/0492-Climbing-should-not-bypass-cramming-gamerule.patch} (78%) rename patches/{unapplied/server/0510-Added-missing-default-perms-for-commands.patch => server/0493-Added-missing-default-perms-for-commands.patch} (100%) rename patches/{unapplied/server/0511-Add-PlayerShearBlockEvent.patch => server/0494-Add-PlayerShearBlockEvent.patch} (98%) rename patches/{unapplied/server/0512-Fix-curing-zombie-villager-discount-exploit.patch => server/0495-Fix-curing-zombie-villager-discount-exploit.patch} (88%) rename patches/{unapplied/server/0513-Limit-recipe-packets.patch => server/0496-Limit-recipe-packets.patch} (77%) rename patches/{unapplied/server/0514-Fix-CraftSound-backwards-compatibility.patch => server/0497-Fix-CraftSound-backwards-compatibility.patch} (100%) rename patches/{unapplied/server/0515-Player-Chunk-Load-Unload-Events.patch => server/0498-Player-Chunk-Load-Unload-Events.patch} (90%) rename patches/{unapplied/server/0516-Optimize-Dynamic-get-Missing-Keys.patch => server/0499-Optimize-Dynamic-get-Missing-Keys.patch} (100%) rename patches/{unapplied/server/0517-Expose-LivingEntity-hurt-direction.patch => server/0500-Expose-LivingEntity-hurt-direction.patch} (90%) rename patches/{unapplied/server/0518-Add-OBSTRUCTED-reason-to-BedEnterResult.patch => server/0501-Add-OBSTRUCTED-reason-to-BedEnterResult.patch} (91%) rename patches/{unapplied/server/0519-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch => server/0502-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch} (93%) rename patches/{unapplied/server/0520-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch => server/0503-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch} (95%) rename patches/{unapplied/server/0521-Implement-TargetHitEvent.patch => server/0504-Implement-TargetHitEvent.patch} (100%) rename patches/{unapplied/server/0522-MC-4-Fix-item-position-desync.patch => server/0505-MC-4-Fix-item-position-desync.patch} (88%) rename patches/{unapplied/server/0523-Additional-Block-Material-API-s.patch => server/0506-Additional-Block-Material-API-s.patch} (90%) rename patches/{unapplied/server/0524-Fix-harming-potion-dupe.patch => server/0507-Fix-harming-potion-dupe.patch} (100%) rename patches/{unapplied/server/0525-Implement-API-to-get-Material-from-Boats-and-Minecar.patch => server/0508-Implement-API-to-get-Material-from-Boats-and-Minecar.patch} (100%) rename patches/{unapplied/server/0526-Cache-burn-durations.patch => server/0509-Cache-burn-durations.patch} (94%) rename patches/{unapplied/server/0527-Allow-disabling-mob-spawner-spawn-egg-transformation.patch => server/0510-Allow-disabling-mob-spawner-spawn-egg-transformation.patch} (91%) rename patches/{unapplied/server/0528-Fix-Not-a-string-Map-Conversion-spam.patch => server/0511-Fix-Not-a-string-Map-Conversion-spam.patch} (96%) rename patches/{unapplied/server/0529-Implement-PlayerFlowerPotManipulateEvent.patch => server/0512-Implement-PlayerFlowerPotManipulateEvent.patch} (100%) rename patches/{unapplied/server/0530-Fix-interact-event-not-being-called-in-adventure.patch => server/0513-Fix-interact-event-not-being-called-in-adventure.patch} (81%) rename patches/{unapplied/server/0531-Zombie-API-breaking-doors.patch => server/0514-Zombie-API-breaking-doors.patch} (100%) rename patches/{unapplied/server/0532-Fix-nerfed-slime-when-splitting.patch => server/0515-Fix-nerfed-slime-when-splitting.patch} (90%) rename patches/{unapplied/server/0533-Add-EntityLoadCrossbowEvent.patch => server/0516-Add-EntityLoadCrossbowEvent.patch} (82%) rename patches/{unapplied/server/0534-Added-WorldGameRuleChangeEvent.patch => server/0517-Added-WorldGameRuleChangeEvent.patch} (91%) rename patches/{unapplied/server/0535-Added-ServerResourcesReloadedEvent.patch => server/0518-Added-ServerResourcesReloadedEvent.patch} (91%) rename patches/{unapplied/server/0536-Added-world-settings-for-mobs-picking-up-loot.patch => server/0519-Added-world-settings-for-mobs-picking-up-loot.patch} (91%) rename patches/{unapplied/server/0537-Implemented-BlockFailedDispenseEvent.patch => server/0520-Implemented-BlockFailedDispenseEvent.patch} (87%) rename patches/{unapplied/server/0538-Added-PlayerLecternPageChangeEvent.patch => server/0521-Added-PlayerLecternPageChangeEvent.patch} (100%) rename patches/{unapplied/server/0539-Added-PlayerLoomPatternSelectEvent.patch => server/0522-Added-PlayerLoomPatternSelectEvent.patch} (96%) rename patches/{unapplied/server/0540-Configurable-door-breaking-difficulty.patch => server/0523-Configurable-door-breaking-difficulty.patch} (91%) rename patches/{unapplied/server/0541-Empty-commands-shall-not-be-dispatched.patch => server/0524-Empty-commands-shall-not-be-dispatched.patch} (84%) rename patches/{unapplied/server/0542-Implement-API-to-expose-exact-interaction-point.patch => server/0525-Implement-API-to-expose-exact-interaction-point.patch} (93%) rename patches/{unapplied/server/0543-Remove-stale-POIs.patch => server/0526-Remove-stale-POIs.patch} (86%) rename patches/{unapplied/server/0544-Fix-villager-boat-exploit.patch => server/0527-Fix-villager-boat-exploit.patch} (88%) rename patches/{unapplied/server/0545-Add-sendOpLevel-API.patch => server/0528-Add-sendOpLevel-API.patch} (84%) diff --git a/patches/unapplied/server/0501-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0484-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 100% rename from patches/unapplied/server/0501-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/server/0484-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/unapplied/server/0502-Expose-world-spawn-angle.patch b/patches/server/0485-Expose-world-spawn-angle.patch similarity index 87% rename from patches/unapplied/server/0502-Expose-world-spawn-angle.patch rename to patches/server/0485-Expose-world-spawn-angle.patch index 80374db33..3000546e7 100644 --- a/patches/unapplied/server/0502-Expose-world-spawn-angle.patch +++ b/patches/server/0485-Expose-world-spawn-angle.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose world spawn angle diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1f739c0e9a6323967719a515bfce6c4885d8dae6..cd8e11b073f53c824965c91129d502f89ac2b465 100644 +index f365eb9705ca78dd586c4e6492015d8710514efc..265ecfa5bb7fe6b44ae04f64a08788fcd827f903 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -830,7 +830,7 @@ public abstract class PlayerList { +@@ -837,7 +837,7 @@ public abstract class PlayerList { if (location == null) { worldserver1 = this.server.getLevel(Level.OVERWORLD); blockposition = entityplayer1.getSpawnPoint(worldserver1); diff --git a/patches/unapplied/server/0503-Add-Destroy-Speed-API.patch b/patches/server/0486-Add-Destroy-Speed-API.patch similarity index 94% rename from patches/unapplied/server/0503-Add-Destroy-Speed-API.patch rename to patches/server/0486-Add-Destroy-Speed-API.patch index d69d702d7..76e967d4a 100644 --- a/patches/unapplied/server/0503-Add-Destroy-Speed-API.patch +++ b/patches/server/0486-Add-Destroy-Speed-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add Destroy Speed API Co-authored-by: Jake Potrebic diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 1cfbe11ba3e82071bad8b723ac781818268414f2..5cca837474205eaa7bffadf31a60bf352ef7365b 100644 +index cd39ec0e87974be616f10321d953fd2f3af194f7..6c6867c007cec2b8364c875fbfc25c372b39351c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -701,5 +701,26 @@ public class CraftBlock implements Block { diff --git a/patches/unapplied/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0487-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 89% rename from patches/unapplied/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/server/0487-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index d81d5e18f..a707561ba 100644 --- a/patches/unapplied/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0487-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 28d0d184e990e30835d2848a32e53c39dd704319..01fd98028c3d7a3faa8fb3857116c38c752a2ea9 100644 +index cfca7a4e71c2f74846238b1bf2fbf2ff094b7a0f..bf9844dcff3ceca0f059baad5569a168597e7c4a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2514,7 +2514,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2445,7 +2445,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (data != null && !particle.getDataType().isInstance(data)) { throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass()); } diff --git a/patches/unapplied/server/0505-Add-LivingEntity-clearActiveItem.patch b/patches/server/0488-Add-LivingEntity-clearActiveItem.patch similarity index 100% rename from patches/unapplied/server/0505-Add-LivingEntity-clearActiveItem.patch rename to patches/server/0488-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/unapplied/server/0506-Add-PlayerItemCooldownEvent.patch b/patches/server/0489-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/unapplied/server/0506-Add-PlayerItemCooldownEvent.patch rename to patches/server/0489-Add-PlayerItemCooldownEvent.patch diff --git a/patches/unapplied/server/0507-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0490-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/unapplied/server/0507-Significantly-improve-performance-of-the-end-generat.patch rename to patches/server/0490-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/unapplied/server/0508-More-lightning-API.patch b/patches/server/0491-More-lightning-API.patch similarity index 100% rename from patches/unapplied/server/0508-More-lightning-API.patch rename to patches/server/0491-More-lightning-API.patch diff --git a/patches/unapplied/server/0509-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0492-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 78% rename from patches/unapplied/server/0509-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0492-Climbing-should-not-bypass-cramming-gamerule.patch index 21cfdd6f7..c5cb7162b 100644 --- a/patches/unapplied/server/0509-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0492-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3d9447b976fbaedb55b526efba7e5d9e7110ade7..d5a5f499bbdc950b66de62370482f122e4a16511 100644 +index a4926cdfeac99b78ca2551a8d0e6f1fab9ca985b..f359cf2f9e3a866a569ca3a97f8373758e0140e2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1930,6 +1930,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1964,6 +1964,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean isPushable() { @@ -22,7 +22,7 @@ index 3d9447b976fbaedb55b526efba7e5d9e7110ade7..d5a5f499bbdc950b66de62370482f122 } diff --git a/src/main/java/net/minecraft/world/entity/EntitySelector.java b/src/main/java/net/minecraft/world/entity/EntitySelector.java -index 302676ef78ed5b3b7fc1b04851447ca72eed10c0..a00c3d96f2fc7131d1f4afa7af4e41ace3cfce89 100644 +index 9edea92834306b39abda36ba9be4e8796f113cc4..f6e5406f84410ab9c177213157106739a2074cf8 100644 --- a/src/main/java/net/minecraft/world/entity/EntitySelector.java +++ b/src/main/java/net/minecraft/world/entity/EntitySelector.java @@ -45,11 +45,17 @@ public final class EntitySelector { @@ -42,22 +42,22 @@ index 302676ef78ed5b3b7fc1b04851447ca72eed10c0..a00c3d96f2fc7131d1f4afa7af4e41ac - if (!entity1.canCollideWithBukkit(entity) || !entity.canCollideWithBukkit(entity1)) { // CraftBukkit - collidable API + if (!entity1.isCollidable(ignoreClimbing) || !entity1.canCollideWithBukkit(entity) || !entity.canCollideWithBukkit(entity1)) { // CraftBukkit - collidable API // Paper - isCollidable return false; - } else if (entity.level.isClientSide && (!(entity1 instanceof Player) || !((Player) entity1).isLocalPlayer())) { + } else if (entity.level().isClientSide && (!(entity1 instanceof Player) || !((Player) entity1).isLocalPlayer())) { return false; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 450d6c28dcf8969902ab75d4a7b06aa9c3013fb4..fcd670d1371dca3bb644dfea79f98670d75a68a4 100644 +index 84f56d1eb0075f1f3d3d52d1b893732c3804c276..922e953234998f1322cb9fb72b02321b7975a674 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3356,7 +3356,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3405,7 +3405,7 @@ public abstract class LivingEntity extends Entity implements Attackable { return; } // Paper end - don't run getEntities if we're not going to use its result -- List list = this.level.getEntities((Entity) this, this.getBoundingBox(), EntitySelector.pushableBy(this)); -+ List list = this.level.getEntities((Entity) this, this.getBoundingBox(), EntitySelector.pushable(this, level.paperConfig().collisions.fixClimbingBypassingCrammingRule)); // Paper - fix climbing bypassing cramming rule +- List list = this.level().getEntities((Entity) this, this.getBoundingBox(), EntitySelector.pushableBy(this)); ++ List list = this.level().getEntities((Entity) this, this.getBoundingBox(), EntitySelector.pushable(this, this.level().paperConfig().collisions.fixClimbingBypassingCrammingRule)); // Paper - fix climbing bypassing cramming rule if (!list.isEmpty()) { // Paper - moved up -@@ -3516,9 +3516,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3565,9 +3565,16 @@ public abstract class LivingEntity extends Entity implements Attackable { return !this.isRemoved() && this.collides; // CraftBukkit } @@ -65,7 +65,7 @@ index 450d6c28dcf8969902ab75d4a7b06aa9c3013fb4..fcd670d1371dca3bb644dfea79f98670 @Override public boolean isPushable() { - return this.isAlive() && !this.isSpectator() && !this.onClimbable() && this.collides; // CraftBukkit -+ return this.isCollidable(level.paperConfig().collisions.fixClimbingBypassingCrammingRule); ++ return this.isCollidable(this.level().paperConfig().collisions.fixClimbingBypassingCrammingRule); + } + + @Override @@ -76,7 +76,7 @@ index 450d6c28dcf8969902ab75d4a7b06aa9c3013fb4..fcd670d1371dca3bb644dfea79f98670 // CraftBukkit start - collidable API diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -index eb53029868ceebe08281ae1012e5ae95d555fc93..f5efdf59617d43de18a2267351fa784c0be3ae83 100644 +index 8aae860fae71570d88453d0d56d40a519f889326..940cd932e74bc2e6754186731d7aa6f10d56eb68 100644 --- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java +++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java @@ -85,7 +85,7 @@ public class Bat extends AmbientCreature { @@ -89,7 +89,7 @@ index eb53029868ceebe08281ae1012e5ae95d555fc93..f5efdf59617d43de18a2267351fa784c } diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -index 047f8cc00eb361eecc2cb93980b56d61d09a014c..e6e40770acf71b9079e8f6ac07025319dd8e2e4e 100644 +index a32845854d9575ae950c47179ceff4ac149ebc01..3cc7af656433117991547476c118b58cff95e8e2 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java @@ -381,8 +381,8 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder { diff --git a/patches/unapplied/server/0510-Added-missing-default-perms-for-commands.patch b/patches/server/0493-Added-missing-default-perms-for-commands.patch similarity index 100% rename from patches/unapplied/server/0510-Added-missing-default-perms-for-commands.patch rename to patches/server/0493-Added-missing-default-perms-for-commands.patch diff --git a/patches/unapplied/server/0511-Add-PlayerShearBlockEvent.patch b/patches/server/0494-Add-PlayerShearBlockEvent.patch similarity index 98% rename from patches/unapplied/server/0511-Add-PlayerShearBlockEvent.patch rename to patches/server/0494-Add-PlayerShearBlockEvent.patch index 019a28516..9a31074c9 100644 --- a/patches/unapplied/server/0511-Add-PlayerShearBlockEvent.patch +++ b/patches/server/0494-Add-PlayerShearBlockEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerShearBlockEvent 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 f3cefffc5629b2fbd412ec3d554fbd5c237cb6bc..e3704080dc44ea429ecdc477e2ac57692d7833fc 100644 +index 97ae550e388a8fa139fa36b830351f233db5da86..26f928ad94aed7f1078a31d8a0af2dc377a48d0f 100644 --- a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java @@ -113,7 +113,7 @@ public class BeehiveBlock extends BaseEntityBlock { diff --git a/patches/unapplied/server/0512-Fix-curing-zombie-villager-discount-exploit.patch b/patches/server/0495-Fix-curing-zombie-villager-discount-exploit.patch similarity index 88% rename from patches/unapplied/server/0512-Fix-curing-zombie-villager-discount-exploit.patch rename to patches/server/0495-Fix-curing-zombie-villager-discount-exploit.patch index 03d56c455..aeec8d3b6 100644 --- a/patches/unapplied/server/0512-Fix-curing-zombie-villager-discount-exploit.patch +++ b/patches/server/0495-Fix-curing-zombie-villager-discount-exploit.patch @@ -8,10 +8,10 @@ and curing a villager on repeat by simply resetting the relevant part of the reputation when it is cured. 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 279b247f579a46183bdb90064ee169d3f9b0b1e3..235e41ddd77e126648df81d9d187a1bd178e19fe 100644 +index 24434b66d158b10d21579b2db6efb0bdcc788a5c..0c78c1ccb1443dca7efc5a429b6020373fc7331e 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -992,6 +992,15 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -1000,6 +1000,15 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @Override public void onReputationEventFrom(ReputationEventType interaction, Entity entity) { if (interaction == ReputationEventType.ZOMBIE_VILLAGER_CURED) { diff --git a/patches/unapplied/server/0513-Limit-recipe-packets.patch b/patches/server/0496-Limit-recipe-packets.patch similarity index 77% rename from patches/unapplied/server/0513-Limit-recipe-packets.patch rename to patches/server/0496-Limit-recipe-packets.patch index c20f647e2..ccb45cae0 100644 --- a/patches/unapplied/server/0513-Limit-recipe-packets.patch +++ b/patches/server/0496-Limit-recipe-packets.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Limit recipe packets diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5f6cbead15aca14ad983bb49ab52fe1e71bb24ec..97e842e2268fa1084d46d2423e2212d97a3c6c05 100644 +index 5a5b3d412d6982efbbe6fca3f794988ba7d5f704..6dd9132ef61af5cb07fade4624ac51d6a81d1535 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -266,6 +266,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -24,18 +24,19 @@ index 5f6cbead15aca14ad983bb49ab52fe1e71bb24ec..97e842e2268fa1084d46d2423e2212d9 /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -3134,6 +3136,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3126,6 +3128,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { ++ PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); + // Paper start + if (!org.bukkit.Bukkit.isPrimaryThread()) { -+ if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { -+ server.scheduleOnMain(() -> this.disconnect(net.minecraft.network.chat.Component.translatable("disconnect.spam", new Object[0]))); // Paper ++ if (this.recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { ++ this.server.scheduleOnMain(() -> this.disconnect(net.minecraft.network.chat.Component.translatable("disconnect.spam", new Object[0]))); // Paper + return; + } + } + // Paper end - PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); + PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); this.player.resetLastActionTime(); if (!this.player.isSpectator() && this.player.containerMenu.containerId == packet.getContainerId() && this.player.containerMenu instanceof RecipeBookMenu) { diff --git a/patches/unapplied/server/0514-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0497-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/unapplied/server/0514-Fix-CraftSound-backwards-compatibility.patch rename to patches/server/0497-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/unapplied/server/0515-Player-Chunk-Load-Unload-Events.patch b/patches/server/0498-Player-Chunk-Load-Unload-Events.patch similarity index 90% rename from patches/unapplied/server/0515-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0498-Player-Chunk-Load-Unload-Events.patch index 43fc68646..6f7fe26cc 100644 --- a/patches/unapplied/server/0515-Player-Chunk-Load-Unload-Events.patch +++ b/patches/server/0498-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 5c38036574951ef4080da5e3315ce516acb53484..cd2d5dc3a51a4600699bd20630d32a7d0897900e 100644 +index f05900394e0a00b8cad67cfbc7bb817513202553..38a24e4561dc9be4f95db5c0d0e4465ce3b4a2a4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2188,11 +2188,21 @@ public class ServerPlayer extends Player { +@@ -2190,11 +2190,21 @@ public class ServerPlayer extends Player { public void trackChunk(ChunkPos chunkPos, Packet chunkDataPacket) { this.connection.send(chunkDataPacket); diff --git a/patches/unapplied/server/0516-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0499-Optimize-Dynamic-get-Missing-Keys.patch similarity index 100% rename from patches/unapplied/server/0516-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/server/0499-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/unapplied/server/0517-Expose-LivingEntity-hurt-direction.patch b/patches/server/0500-Expose-LivingEntity-hurt-direction.patch similarity index 90% rename from patches/unapplied/server/0517-Expose-LivingEntity-hurt-direction.patch rename to patches/server/0500-Expose-LivingEntity-hurt-direction.patch index 94cc2314e..8bda79717 100644 --- a/patches/unapplied/server/0517-Expose-LivingEntity-hurt-direction.patch +++ b/patches/server/0500-Expose-LivingEntity-hurt-direction.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose LivingEntity hurt direction 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 1ada0736ce35c0299e40d4ce8fbe49f170ea0c6f..70ce47777793d416d5f0bbcbf087e2f0a28a7740 100644 +index a8731cf957da9aad7ed6f5d372500bc34afd32ca..b36492efc3d6338e0099988c1ff31e7211b7d010 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -181,7 +181,7 @@ public abstract class Player extends LivingEntity { +@@ -182,7 +182,7 @@ public abstract class Player extends LivingEntity { private Optional lastDeathLocation; @Nullable public FishingHook fishing; @@ -18,7 +18,7 @@ index 1ada0736ce35c0299e40d4ce8fbe49f170ea0c6f..70ce47777793d416d5f0bbcbf087e2f0 public boolean affectsSpawning = true; // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 581d99e0dbf4b1a59389645f01f33aed7a340686..ffd07d9751deb87902213a3349bcb398ee281640 100644 +index 43a98bcd8e9fe8b204d6d750e3e301cc644024cb..dfee605acb2da327d53101295267c31119187bfa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -126,6 +126,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/patches/unapplied/server/0518-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0501-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 91% rename from patches/unapplied/server/0518-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/server/0501-Add-OBSTRUCTED-reason-to-BedEnterResult.patch index 4cdcac556..39424b498 100644 --- a/patches/unapplied/server/0518-Add-OBSTRUCTED-reason-to-BedEnterResult.patch +++ b/patches/server/0501-Add-OBSTRUCTED-reason-to-BedEnterResult.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 79c542421199a5d9984f104204b275e050581db5..080c6581ba120e223b5c765cbd9225ef57150176 100644 +index 6528757c99c55c1d9926da89efed468def758af3..e21d1404167ccd461359ccb0ceb90c4c809caabc 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -267,6 +267,10 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0519-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch b/patches/server/0502-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch similarity index 93% rename from patches/unapplied/server/0519-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch rename to patches/server/0502-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch index 87fc5a389..94e14e3d1 100644 --- a/patches/unapplied/server/0519-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch +++ b/patches/server/0502-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Do not crash from invalid ingredient lists in 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 49bc867f189b0d4c236a47670676cc67920c2cd7..e7dda8959eb92c069af001126aafc759e7e7d2de 100644 +index 0a62cf36a95d7bf1287acdd17464fc677c7a4b7d..fe003c42f002e229111c46a79ac6a961c60db912 100644 --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java @@ -275,7 +275,11 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa diff --git a/patches/unapplied/server/0520-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0503-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch similarity index 95% rename from patches/unapplied/server/0520-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch rename to patches/server/0503-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch index d50b67277..83659338a 100644 --- a/patches/unapplied/server/0520-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch +++ b/patches/server/0503-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 e7dda8959eb92c069af001126aafc759e7e7d2de..ca96b893e22de3ae7c11d5cded51edf70bdcb6f2 100644 +index fe003c42f002e229111c46a79ac6a961c60db912..564908ce0a560c2190fb624e77d227d3b7031024 100644 --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java @@ -138,11 +138,24 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa @@ -37,10 +37,10 @@ index e7dda8959eb92c069af001126aafc759e7e7d2de..ca96b893e22de3ae7c11d5cded51edf7 CriteriaTriggers.TRADE.trigger((ServerPlayer) this.tradingPlayer, this, offer.getResult()); } diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -index 5098147fc97c1f7bebc64bdd31ff03f779bb3935..75f809ee3d46971ce2ae9ec5bc89aeec1e85fdfb 100644 +index 85a6bc46817c7272855a7f3aa8c206d7b3f8512e..4ac91ba7dc754b120189fd32d24076d51b17d7c6 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -@@ -758,6 +758,14 @@ public abstract class AbstractContainerMenu { +@@ -756,6 +756,14 @@ public abstract class AbstractContainerMenu { public abstract boolean stillValid(Player player); protected boolean moveItemStackTo(ItemStack stack, int startIndex, int endIndex, boolean fromLast) { @@ -55,7 +55,7 @@ index 5098147fc97c1f7bebc64bdd31ff03f779bb3935..75f809ee3d46971ce2ae9ec5bc89aeec boolean flag1 = false; int k = startIndex; -@@ -780,18 +788,27 @@ public abstract class AbstractContainerMenu { +@@ -778,18 +786,27 @@ public abstract class AbstractContainerMenu { slot = (Slot) this.slots.get(k); itemstack1 = slot.getItem(); @@ -83,7 +83,7 @@ index 5098147fc97c1f7bebc64bdd31ff03f779bb3935..75f809ee3d46971ce2ae9ec5bc89aeec flag1 = true; } } -@@ -822,14 +839,33 @@ public abstract class AbstractContainerMenu { +@@ -820,14 +837,33 @@ public abstract class AbstractContainerMenu { slot = (Slot) this.slots.get(k); itemstack1 = slot.getItem(); @@ -118,7 +118,7 @@ index 5098147fc97c1f7bebc64bdd31ff03f779bb3935..75f809ee3d46971ce2ae9ec5bc89aeec break; } diff --git a/src/main/java/net/minecraft/world/inventory/MerchantMenu.java b/src/main/java/net/minecraft/world/inventory/MerchantMenu.java -index 373a32e750aaa77cec0cb57ce4058810eeaff8f4..9370056dfec5d5df7ff832e1d742b0ed1be85d8e 100644 +index 743a2adc465be5477d204185967265389d7102de..8eab7596e1f7d1beb9ab0d70d1310d26822262e9 100644 --- a/src/main/java/net/minecraft/world/inventory/MerchantMenu.java +++ b/src/main/java/net/minecraft/world/inventory/MerchantMenu.java @@ -134,12 +134,12 @@ public class MerchantMenu extends AbstractContainerMenu { @@ -168,7 +168,7 @@ index 373a32e750aaa77cec0cb57ce4058810eeaff8f4..9370056dfec5d5df7ff832e1d742b0ed return itemstack; diff --git a/src/main/java/net/minecraft/world/inventory/MerchantResultSlot.java b/src/main/java/net/minecraft/world/inventory/MerchantResultSlot.java -index 74b28315197b81f80334ae6023113904e4fac4c3..7acf5ab9339e0134819aab5f270e99e927cc7a62 100644 +index e49bbb803399ef696665c5844a18b55a551654f6..1f2b9a9a3fa167e2ba021c823dd142b0bb18a695 100644 --- a/src/main/java/net/minecraft/world/inventory/MerchantResultSlot.java +++ b/src/main/java/net/minecraft/world/inventory/MerchantResultSlot.java @@ -47,13 +47,32 @@ public class MerchantResultSlot extends Slot { diff --git a/patches/unapplied/server/0521-Implement-TargetHitEvent.patch b/patches/server/0504-Implement-TargetHitEvent.patch similarity index 100% rename from patches/unapplied/server/0521-Implement-TargetHitEvent.patch rename to patches/server/0504-Implement-TargetHitEvent.patch diff --git a/patches/unapplied/server/0522-MC-4-Fix-item-position-desync.patch b/patches/server/0505-MC-4-Fix-item-position-desync.patch similarity index 88% rename from patches/unapplied/server/0522-MC-4-Fix-item-position-desync.patch rename to patches/server/0505-MC-4-Fix-item-position-desync.patch index d53981f21..5ff8c4bde 100644 --- a/patches/unapplied/server/0522-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0505-MC-4-Fix-item-position-desync.patch @@ -28,13 +28,13 @@ index 5ca3ad7b3d7606accd0a58b3c708fadb349608f7..4b6e0fe2fabcc55007fd8979e81f66df public Vec3 decode(long x, long y, long z) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d5a5f499bbdc950b66de62370482f122e4a16511..909d9da2e0b30d4bf187623a46695c86d67b2248 100644 +index f359cf2f9e3a866a569ca3a97f8373758e0140e2..ebafdcbea42abde85c63ad4bbb426a811d3811e9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4100,6 +4100,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { - return; - } - // Paper end - rewrite chunk system +@@ -4131,6 +4131,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { + } + public final void setPosRaw(double x, double y, double z, boolean forceBoundingBoxUpdate) { + // Paper end + // Paper start - fix MC-4 + if (this instanceof ItemEntity) { + if (io.papermc.paper.configuration.GlobalConfiguration.get().misc.fixEntityPositionDesync) { diff --git a/patches/unapplied/server/0523-Additional-Block-Material-API-s.patch b/patches/server/0506-Additional-Block-Material-API-s.patch similarity index 90% rename from patches/unapplied/server/0523-Additional-Block-Material-API-s.patch rename to patches/server/0506-Additional-Block-Material-API-s.patch index 69adf40a3..af30146b0 100644 --- a/patches/unapplied/server/0523-Additional-Block-Material-API-s.patch +++ b/patches/server/0506-Additional-Block-Material-API-s.patch @@ -9,11 +9,11 @@ process to do this in the Bukkit API Adds API for buildable, replaceable, burnable too. diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 5cca837474205eaa7bffadf31a60bf352ef7365b..86a932d397ca92ab7d6f3b64860ede8adb86c0b5 100644 +index 6c6867c007cec2b8364c875fbfc25c372b39351c..822ee0dbeec25646d2d2f335a1d1395726e6678e 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -467,6 +467,25 @@ public class CraftBlock implements Block { - return this.getNMS().getMaterial().isLiquid(); + return this.getNMS().liquid(); } + // Paper start diff --git a/patches/unapplied/server/0524-Fix-harming-potion-dupe.patch b/patches/server/0507-Fix-harming-potion-dupe.patch similarity index 100% rename from patches/unapplied/server/0524-Fix-harming-potion-dupe.patch rename to patches/server/0507-Fix-harming-potion-dupe.patch diff --git a/patches/unapplied/server/0525-Implement-API-to-get-Material-from-Boats-and-Minecar.patch b/patches/server/0508-Implement-API-to-get-Material-from-Boats-and-Minecar.patch similarity index 100% rename from patches/unapplied/server/0525-Implement-API-to-get-Material-from-Boats-and-Minecar.patch rename to patches/server/0508-Implement-API-to-get-Material-from-Boats-and-Minecar.patch diff --git a/patches/unapplied/server/0526-Cache-burn-durations.patch b/patches/server/0509-Cache-burn-durations.patch similarity index 94% rename from patches/unapplied/server/0526-Cache-burn-durations.patch rename to patches/server/0509-Cache-burn-durations.patch index 085140489..0b0a8c2b0 100644 --- a/patches/unapplied/server/0526-Cache-burn-durations.patch +++ b/patches/server/0509-Cache-burn-durations.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache burn durations 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 faa5beffb29e416f2a9af96ac66b5f88729e4705..5327d41fc5064e953856c348f40f2b396aa0c66b 100644 +index 40dc29288a13ae9c1f8b0434922fdb5c7d02daa9..5ea9a6e9fa197fd00952c5ade426d7de50497a5e 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 @@ -133,7 +133,13 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit diff --git a/patches/unapplied/server/0527-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0510-Allow-disabling-mob-spawner-spawn-egg-transformation.patch similarity index 91% rename from patches/unapplied/server/0527-Allow-disabling-mob-spawner-spawn-egg-transformation.patch rename to patches/server/0510-Allow-disabling-mob-spawner-spawn-egg-transformation.patch index c4eb2f507..bd783eafb 100644 --- a/patches/unapplied/server/0527-Allow-disabling-mob-spawner-spawn-egg-transformation.patch +++ b/patches/server/0510-Allow-disabling-mob-spawner-spawn-egg-transformation.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow disabling mob spawner spawn egg transformation diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java -index 5d50e9c837628638019166e224905a9de69b1ae4..31268e25056f980798ef7db72c4f955a074cc639 100644 +index aa54f33495dbda7afe035881893ae3e95c91447f..741719301e6fc91a598e74342810c4185e6fde26 100644 --- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java +++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java @@ -61,7 +61,7 @@ public class SpawnEggItem extends Item { diff --git a/patches/unapplied/server/0528-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0511-Fix-Not-a-string-Map-Conversion-spam.patch similarity index 96% rename from patches/unapplied/server/0528-Fix-Not-a-string-Map-Conversion-spam.patch rename to patches/server/0511-Fix-Not-a-string-Map-Conversion-spam.patch index 7809bd079..087de8860 100644 --- a/patches/unapplied/server/0528-Fix-Not-a-string-Map-Conversion-spam.patch +++ b/patches/server/0511-Fix-Not-a-string-Map-Conversion-spam.patch @@ -12,7 +12,7 @@ requesting the world. Track spigot issue to see when fixed: https://hub.spigotmc.org/jira/browse/SPIGOT-6181 diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -index 2c5fb4eb5790f4dff0d03390ceae3afc32134006..fdf56fa2c26babf3496d326d2e7c7968f1844792 100644 +index d6ed799716f13cb3f72e66f9d57c6ec90c1eb272..7a6fbd4be33e93c7f09b1ed146ae25fe6c6b503c 100644 --- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java @@ -15,6 +15,8 @@ import net.minecraft.core.BlockPos; diff --git a/patches/unapplied/server/0529-Implement-PlayerFlowerPotManipulateEvent.patch b/patches/server/0512-Implement-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/unapplied/server/0529-Implement-PlayerFlowerPotManipulateEvent.patch rename to patches/server/0512-Implement-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/unapplied/server/0530-Fix-interact-event-not-being-called-in-adventure.patch b/patches/server/0513-Fix-interact-event-not-being-called-in-adventure.patch similarity index 81% rename from patches/unapplied/server/0530-Fix-interact-event-not-being-called-in-adventure.patch rename to patches/server/0513-Fix-interact-event-not-being-called-in-adventure.patch index d6331655d..ccd5abb3e 100644 --- a/patches/unapplied/server/0530-Fix-interact-event-not-being-called-in-adventure.patch +++ b/patches/server/0513-Fix-interact-event-not-being-called-in-adventure.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix interact event not being called in adventure Call PlayerInteractEvent when left-clicking on a block in adventure mode diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 97e842e2268fa1084d46d2423e2212d97a3c6c05..c7776ccb1f11296a0f3e7b8dcba8169677085de8 100644 +index 6dd9132ef61af5cb07fade4624ac51d6a81d1535..92f8a2f70b78be2fc75faab0675628c227aa1706 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1835,7 +1835,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1827,7 +1827,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic MutableComponent ichatmutablecomponent = Component.translatable("build.tooHigh", i - 1).withStyle(ChatFormatting.RED); this.player.sendSystemMessage(ichatmutablecomponent, true); @@ -18,9 +18,9 @@ index 97e842e2268fa1084d46d2423e2212d97a3c6c05..c7776ccb1f11296a0f3e7b8dcba81696 this.player.swing(enumhand, true); } } -@@ -2471,7 +2471,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2463,7 +2463,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // SPIGOT-5607: Only call interact event if no block or entity is being clicked. Use bukkit ray trace method, because it handles blocks and entities at the same time - org.bukkit.util.RayTraceResult result = this.player.level.getWorld().rayTrace(origin, origin.getDirection(), d3, org.bukkit.FluidCollisionMode.NEVER, false, 0.1, entity -> entity != this.player.getBukkitEntity() && this.player.getBukkitEntity().canSee(entity)); + org.bukkit.util.RayTraceResult result = this.player.level().getWorld().rayTrace(origin, origin.getDirection(), d3, org.bukkit.FluidCollisionMode.NEVER, false, 0.1, entity -> entity != this.player.getBukkitEntity() && this.player.getBukkitEntity().canSee(entity)); - if (result == null) { + if (result == null || this.player.gameMode.getGameModeForPlayer() == GameType.ADVENTURE) { // Paper - call PlayerInteractEvent when left-clicking on a block in adventure mode diff --git a/patches/unapplied/server/0531-Zombie-API-breaking-doors.patch b/patches/server/0514-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/unapplied/server/0531-Zombie-API-breaking-doors.patch rename to patches/server/0514-Zombie-API-breaking-doors.patch diff --git a/patches/unapplied/server/0532-Fix-nerfed-slime-when-splitting.patch b/patches/server/0515-Fix-nerfed-slime-when-splitting.patch similarity index 90% rename from patches/unapplied/server/0532-Fix-nerfed-slime-when-splitting.patch rename to patches/server/0515-Fix-nerfed-slime-when-splitting.patch index 7b62c899e..ca1a39e53 100644 --- a/patches/unapplied/server/0532-Fix-nerfed-slime-when-splitting.patch +++ b/patches/server/0515-Fix-nerfed-slime-when-splitting.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix nerfed slime when splitting diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java -index 9196c51474741eb1015f7daac640b83e6c7b66e4..eea1124870b0914376ea00a7395b998058061cf8 100644 +index 30779b817db6f8e392036b4ec66e1c5cf50cd0f5..b0c5324dadc0a66786ec5edb7b4796ceeaa8e0d2 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Slime.java +++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java @@ -241,6 +241,7 @@ public class Slime extends Mob implements Enemy { diff --git a/patches/unapplied/server/0533-Add-EntityLoadCrossbowEvent.patch b/patches/server/0516-Add-EntityLoadCrossbowEvent.patch similarity index 82% rename from patches/unapplied/server/0533-Add-EntityLoadCrossbowEvent.patch rename to patches/server/0516-Add-EntityLoadCrossbowEvent.patch index fa93adcd6..b535c7b3f 100644 --- a/patches/unapplied/server/0533-Add-EntityLoadCrossbowEvent.patch +++ b/patches/server/0516-Add-EntityLoadCrossbowEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityLoadCrossbowEvent diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index e6249409d01aee2bdc84821d40ce4551c102d307..bc4f04c2512191da3c9e1c49f0716bb9128fc754 100644 +index 9bea5e94c246d843f3d67680ffb57075bd9d3467..a433910fb4d0bd8d7b6b0d66c8fc88d62a0e4879 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java @@ -89,7 +89,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { @@ -24,19 +24,21 @@ index e6249409d01aee2bdc84821d40ce4551c102d307..bc4f04c2512191da3c9e1c49f0716bb9 CrossbowItem.setCharged(stack, true); SoundSource soundcategory = user instanceof Player ? SoundSource.PLAYERS : SoundSource.HOSTILE; -@@ -99,9 +106,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { +@@ -98,10 +105,16 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { + } - private static boolean tryLoadProjectiles(LivingEntity shooter, ItemStack projectile) { ++ @io.papermc.paper.annotation.DoNotUse // Paper + private static boolean tryLoadProjectiles(LivingEntity shooter, ItemStack crossbow) { + // Paper start -+ return CrossbowItem.tryLoadProjectiles(shooter, projectile, true); ++ return CrossbowItem.tryLoadProjectiles(shooter, crossbow, true); + } -+ private static boolean tryLoadProjectiles(LivingEntity shooter, ItemStack projectile, boolean consume) { ++ private static boolean tryLoadProjectiles(LivingEntity shooter, ItemStack crossbow, boolean consume) { + // Paper end - int i = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.MULTISHOT, projectile); + int i = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.MULTISHOT, crossbow); int j = i == 0 ? 1 : 3; - boolean flag = shooter instanceof Player && ((Player) shooter).getAbilities().instabuild; + boolean flag = !consume || shooter instanceof Player && ((Player) shooter).getAbilities().instabuild; // Paper - add consume - ItemStack itemstack1 = shooter.getProjectile(projectile); + ItemStack itemstack1 = shooter.getProjectile(crossbow); ItemStack itemstack2 = itemstack1.copy(); diff --git a/patches/unapplied/server/0534-Added-WorldGameRuleChangeEvent.patch b/patches/server/0517-Added-WorldGameRuleChangeEvent.patch similarity index 91% rename from patches/unapplied/server/0534-Added-WorldGameRuleChangeEvent.patch rename to patches/server/0517-Added-WorldGameRuleChangeEvent.patch index 73072a04b..fb28f3d81 100644 --- a/patches/unapplied/server/0534-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0517-Added-WorldGameRuleChangeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Added WorldGameRuleChangeEvent diff --git a/src/main/java/net/minecraft/server/commands/GameRuleCommand.java b/src/main/java/net/minecraft/server/commands/GameRuleCommand.java -index 1b66c33a55a9516269c80f5052fb103418b11367..745b8724b7536a5b2c2c94ae8fd703ea755e8072 100644 +index c8c358531dbc167e249bac2af246c5e34fbdd4df..307854468ac985560b4c63b6e9897c444a7b8a3a 100644 --- a/src/main/java/net/minecraft/server/commands/GameRuleCommand.java +++ b/src/main/java/net/minecraft/server/commands/GameRuleCommand.java @@ -33,7 +33,7 @@ public class GameRuleCommand { @@ -14,9 +14,9 @@ index 1b66c33a55a9516269c80f5052fb103418b11367..745b8724b7536a5b2c2c94ae8fd703ea - t0.setFromArgument(context, "value"); + t0.setFromArgument(context, "value", key); // Paper - commandlistenerwrapper.sendSuccess(Component.translatable("commands.gamerule.set", key.getId(), t0.toString()), true); - return t0.getCommandResult(); - } + commandlistenerwrapper.sendSuccess(() -> { + return Component.translatable("commands.gamerule.set", key.getId(), t0.toString()); + }, true); diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java index 4a0321f56ef80aa4991e61f586ddd3f6b45e499b..de713f1ca1d61a6b1fca2b66de9162556d102449 100644 --- a/src/main/java/net/minecraft/world/level/GameRules.java @@ -64,10 +64,10 @@ index 4a0321f56ef80aa4991e61f586ddd3f6b45e499b..de713f1ca1d61a6b1fca2b66de916255 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 69187c3809369cf2dbe15a0f99e510e762f682d2..5c8270adf72114263d4e7b212201a7ea24bc95ae 100644 +index 4e23d00f481697257adf9eae5bed4d02a2d5419b..1df230d4c583604486359ea141051a7b75ebb73b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1839,8 +1839,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1844,8 +1844,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule)) return false; @@ -82,7 +82,7 @@ index 69187c3809369cf2dbe15a0f99e510e762f682d2..5c8270adf72114263d4e7b212201a7ea handle.onChanged(this.getHandle().getServer()); return true; } -@@ -1875,8 +1880,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1880,8 +1885,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule.getName())) return false; diff --git a/patches/unapplied/server/0535-Added-ServerResourcesReloadedEvent.patch b/patches/server/0518-Added-ServerResourcesReloadedEvent.patch similarity index 91% rename from patches/unapplied/server/0535-Added-ServerResourcesReloadedEvent.patch rename to patches/server/0518-Added-ServerResourcesReloadedEvent.patch index 606ddc5f7..e840a5a4e 100644 --- a/patches/unapplied/server/0535-Added-ServerResourcesReloadedEvent.patch +++ b/patches/server/0518-Added-ServerResourcesReloadedEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added ServerResourcesReloadedEvent diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e7ee655a87358cbe9a7a21475ef67bfb7956cd65..9e3dc2ba64b146d1715b81be7202ddbd0122382e 100644 +index 648056283bb1cbb99faf3e095886ace7d42e46d3..571352506c8c76cca674dcc0c6e17d8ab89d1572 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2010,7 +2010,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop completablefuture = CompletableFuture.supplyAsync(() -> { Stream stream = dataPacks.stream(); // CraftBukkit - decompile error -@@ -2051,6 +2057,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java -index ffc8e20d916940fb5e28bac610e3c6bd3d493f78..a9e75a16a7dc0ff5d4f0faa92ebc444559a39325 100644 +index e6139ff42470cfa9bcad02d746f15b99b1096b48..da961f6495f8c448f0d53a0ed2f783b804e9eb6e 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java @@ -197,7 +197,7 @@ public class Vindicator extends AbstractIllager { @@ -23,7 +23,7 @@ index ffc8e20d916940fb5e28bac610e3c6bd3d493f78..a9e75a16a7dc0ff5d4f0faa92ebc4445 } diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index b89a5ecc9138808532f0e3248f0349161391e5e1..185f0c0d709f374cf6df2654dd9708fca90b1349 100644 +index 065b615a1df475a3285d328a8c5113e8d72c33ed..3c7a184d67d5d02817cb7c81d02d5a4156d40f9c 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java @@ -99,7 +99,7 @@ public class Zombie extends Monster { diff --git a/patches/unapplied/server/0541-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0524-Empty-commands-shall-not-be-dispatched.patch similarity index 84% rename from patches/unapplied/server/0541-Empty-commands-shall-not-be-dispatched.patch rename to patches/server/0524-Empty-commands-shall-not-be-dispatched.patch index d8134ea2c..7f1932a7d 100644 --- a/patches/unapplied/server/0541-Empty-commands-shall-not-be-dispatched.patch +++ b/patches/server/0524-Empty-commands-shall-not-be-dispatched.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Empty commands shall not be dispatched diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 7d47e15468f59ce7bc25f692e9963a29d00117cb..8001a084a8086ce55de856579d69b45138eb5c59 100644 +index 87ce129e1d592bcf68169feb559f44d5cda7c486..c034a772b95485a91ab800962b7d9dbf3d074a82 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -261,6 +261,7 @@ public class Commands { +@@ -263,6 +263,7 @@ public class Commands { command = event.getCommand(); String[] args = command.split(" "); diff --git a/patches/unapplied/server/0542-Implement-API-to-expose-exact-interaction-point.patch b/patches/server/0525-Implement-API-to-expose-exact-interaction-point.patch similarity index 93% rename from patches/unapplied/server/0542-Implement-API-to-expose-exact-interaction-point.patch rename to patches/server/0525-Implement-API-to-expose-exact-interaction-point.patch index 510a4d0e7..8dd6e49ac 100644 --- a/patches/unapplied/server/0542-Implement-API-to-expose-exact-interaction-point.patch +++ b/patches/server/0525-Implement-API-to-expose-exact-interaction-point.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement API to expose exact interaction point diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 77eec518940ae41880e395b3dd051d89bd67c319..e6154cf74df39d0c87fc820027adc9641156f888 100644 +index 7c713c98201c816a70ac999e86685b1c6bbd372d..95173754148848bf1772a0426173dcea89e6b9b8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -517,7 +517,7 @@ public class ServerPlayerGameMode { +@@ -515,7 +515,7 @@ public class ServerPlayerGameMode { cancelledBlock = true; } @@ -18,7 +18,7 @@ index 77eec518940ae41880e395b3dd051d89bd67c319..e6154cf74df39d0c87fc820027adc964 this.interactResult = event.useItemInHand() == Event.Result.DENY; this.interactPosition = blockposition.immutable(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index bfa999abcf00a76c85a02e69dcb60b37247d5415..df9c057391d28fb47b722d006aa0c828863ea6b2 100644 +index f5d17617245c786d76277fdf7d526c0a93921053..12a8e9f41dfff700a8e5b8874cf1317e6d68e43a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -57,7 +57,9 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; diff --git a/patches/unapplied/server/0543-Remove-stale-POIs.patch b/patches/server/0526-Remove-stale-POIs.patch similarity index 86% rename from patches/unapplied/server/0543-Remove-stale-POIs.patch rename to patches/server/0526-Remove-stale-POIs.patch index ffabe328d..701581021 100644 --- a/patches/unapplied/server/0543-Remove-stale-POIs.patch +++ b/patches/server/0526-Remove-stale-POIs.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove stale POIs diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c73bf7d8c6b009ed5e1f666600d3c470927f564d..2af673fe240fbb0ce7667e207a833d09afa7074b 100644 +index 6b47bff5e385bffefbdfa3b9f9f8366d75af6acc..7222bee995a3628629d40e94d70ada0730d05e28 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1931,6 +1931,11 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1840,6 +1840,11 @@ public class ServerLevel extends Level implements WorldGenLevel { }); optional1.ifPresent((holder) -> { this.getServer().execute(() -> { diff --git a/patches/unapplied/server/0544-Fix-villager-boat-exploit.patch b/patches/server/0527-Fix-villager-boat-exploit.patch similarity index 88% rename from patches/unapplied/server/0544-Fix-villager-boat-exploit.patch rename to patches/server/0527-Fix-villager-boat-exploit.patch index e8e565dcf..92335f0d8 100644 --- a/patches/unapplied/server/0544-Fix-villager-boat-exploit.patch +++ b/patches/server/0527-Fix-villager-boat-exploit.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix villager boat exploit diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index cd8e11b073f53c824965c91129d502f89ac2b465..8b683ffd930155adf7b1cd1088322621d4e0a037 100644 +index 265ecfa5bb7fe6b44ae04f64a08788fcd827f903..a973d0032da0e2540dc4ed5b28850fb147e01ac6 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -591,6 +591,14 @@ public abstract class PlayerList { +@@ -598,6 +598,14 @@ public abstract class PlayerList { PlayerList.LOGGER.debug("Removing player mount"); entityplayer.stopRiding(); entity.getPassengersAndSelf().forEach((entity1) -> { diff --git a/patches/unapplied/server/0545-Add-sendOpLevel-API.patch b/patches/server/0528-Add-sendOpLevel-API.patch similarity index 84% rename from patches/unapplied/server/0545-Add-sendOpLevel-API.patch rename to patches/server/0528-Add-sendOpLevel-API.patch index 9355fae2d..0141fd46a 100644 --- a/patches/unapplied/server/0545-Add-sendOpLevel-API.patch +++ b/patches/server/0528-Add-sendOpLevel-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 74aacb322ac0ddc8b8f679e7e4d98336782c11c0..81faf7ca99132a87d68a0bc6c9b662a810d0b7b3 100644 +index a973d0032da0e2540dc4ed5b28850fb147e01ac6..a7ec827bac431e7022a07e9071dcec5b7e54da2f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1079,6 +1079,11 @@ public abstract class PlayerList { +@@ -1086,6 +1086,11 @@ public abstract class PlayerList { } private void sendPlayerPermissionLevel(ServerPlayer player, int permissionLevel) { @@ -20,7 +20,7 @@ index 74aacb322ac0ddc8b8f679e7e4d98336782c11c0..81faf7ca99132a87d68a0bc6c9b662a8 if (player.connection != null) { byte b0; -@@ -1093,8 +1098,10 @@ public abstract class PlayerList { +@@ -1100,8 +1105,10 @@ public abstract class PlayerList { player.connection.send(new ClientboundEntityEventPacket(player, b0)); } @@ -32,10 +32,10 @@ index 74aacb322ac0ddc8b8f679e7e4d98336782c11c0..81faf7ca99132a87d68a0bc6c9b662a8 public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 01fd98028c3d7a3faa8fb3857116c38c752a2ea9..207032804244857b849e38f87479f0fbe2902633 100644 +index bf9844dcff3ceca0f059baad5569a168597e7c4a..f46cd227faa3cfc9a8c660516afd8e0209f991d6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -663,6 +663,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -588,6 +588,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ? (org.bukkit.entity.Firework) entity.getBukkitEntity() : null; }