From 908b8141c9100989f71747e357e82416d8e3b08f Mon Sep 17 00:00:00 2001 From: Tamion <70228790+notTamion@users.noreply.github.com> Date: Sat, 20 Apr 2024 05:23:32 +0200 Subject: [PATCH] Fix inventory desync with PlayerLeashEntityEvent (#10436) --- patches/server/0926-Fix-inventory-desync.patch | 12 ++++++++++++ .../server/0972-Add-PlayerShieldDisableEvent.patch | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/patches/server/0926-Fix-inventory-desync.patch b/patches/server/0926-Fix-inventory-desync.patch index 4345fa9aa..f69c4d7ee 100644 --- a/patches/server/0926-Fix-inventory-desync.patch +++ b/patches/server/0926-Fix-inventory-desync.patch @@ -4,6 +4,18 @@ Date: Wed, 23 Aug 2023 13:22:09 -0700 Subject: [PATCH] Fix inventory desync +diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java +index d1833dcc92b1570e62a1941bbea6d66ff0b2ee5f..5da7ffee71bf6d82a53b3c2f99e2bd898d0b1799 100644 +--- a/src/main/java/net/minecraft/world/entity/Mob.java ++++ b/src/main/java/net/minecraft/world/entity/Mob.java +@@ -1336,6 +1336,7 @@ public abstract class Mob extends LivingEntity implements Targeting { + // CraftBukkit start - fire PlayerLeashEntityEvent + if (CraftEventFactory.callPlayerLeashEntityEvent(this, player, player, hand).isCancelled()) { + ((ServerPlayer) player).connection.send(new ClientboundSetEntityLinkPacket(this, this.getLeashHolder())); ++ player.containerMenu.sendAllDataToRemote(); // Paper - Fix inventory desync + return InteractionResult.PASS; + } + // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java index e258e5915b286f1117bc1413dfd3d2a5c4655380..8d2c0accadaf0c5d28e7db6e62a05f6c619cf02f 100644 --- a/src/main/java/net/minecraft/world/item/BlockItem.java diff --git a/patches/server/0972-Add-PlayerShieldDisableEvent.patch b/patches/server/0972-Add-PlayerShieldDisableEvent.patch index a02011827..196eafaea 100644 --- a/patches/server/0972-Add-PlayerShieldDisableEvent.patch +++ b/patches/server/0972-Add-PlayerShieldDisableEvent.patch @@ -16,10 +16,10 @@ sideeffects, meaning the disable event cannot share a handlerlist with the cooldown event diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 4e8aee81cb9e9fe4a4e5df4e228c0314b3af486b..544e22f569d7ddeb1ba46a9ef7f4d4d6ca37c431 100644 +index a59ee9d9b93404060e7a4702497071859daec6df..f7818fd5e59784554732c39ef5c56461ea0d62c4 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1698,7 +1698,11 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1699,7 +1699,11 @@ public abstract class Mob extends LivingEntity implements Targeting { float f = 0.25F + (float) EnchantmentHelper.getBlockEfficiency(this) * 0.05F; if (this.random.nextFloat() < f) {