From 3fb13e467aa70096fd41a44f35b4c7aeb2948ece Mon Sep 17 00:00:00 2001 From: Potatoboy99999 <51728317+PotatoPresident@users.noreply.github.com> Date: Tue, 31 Aug 2021 06:00:06 -0700 Subject: [PATCH] Send block entity update packet along with regular block update packet (#1689) * Send block entity update packet along with regular block update packet * Fix style --- .../MixinServerPlayerInteractionManager.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/MixinServerPlayerInteractionManager.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/MixinServerPlayerInteractionManager.java index f36906997..52babff74 100644 --- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/MixinServerPlayerInteractionManager.java +++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/MixinServerPlayerInteractionManager.java @@ -27,6 +27,7 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.network.packet.s2c.play.BlockEntityUpdateS2CPacket; import net.minecraft.network.packet.s2c.play.BlockUpdateS2CPacket; import net.minecraft.item.ItemStack; import net.minecraft.server.network.ServerPlayerEntity; @@ -61,6 +62,15 @@ public class MixinServerPlayerInteractionManager { if (result != ActionResult.PASS) { // The client might have broken the block on its side, so make sure to let it know. this.player.networkHandler.sendPacket(new BlockUpdateS2CPacket(world, pos)); + + if (world.getBlockState(pos).hasBlockEntity()) { + BlockEntityUpdateS2CPacket updatePacket = world.getBlockEntity(pos).toUpdatePacket(); + + if (updatePacket != null) { + this.player.networkHandler.sendPacket(updatePacket); + } + } + info.cancel(); } }