diff options
author | Cross <[email protected]> | 2024-05-26 21:54:55 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2024-05-26 22:54:55 +0200 |
commit | 1b8cdc6d827d761474f5589a7ff3f75c87ef9005 (patch) | |
tree | feb0b616f2e25e29b15a035ec413f45f57ff80ce | |
parent | 6649a171dc155c04c5dadd55027d9a6356527c15 (diff) | |
download | Paper-1b8cdc6d827d761474f5589a7ff3f75c87ef9005.tar.gz Paper-1b8cdc6d827d761474f5589a7ff3f75c87ef9005.zip |
Extend Player Interact cancellation to cover Jigsaw blocks (#10719)
-rw-r--r-- | patches/server/0172-Extend-Player-Interact-cancellation.patch | 4 | ||||
-rw-r--r-- | patches/server/0934-Dont-resend-blocks-on-interactions.patch | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/patches/server/0172-Extend-Player-Interact-cancellation.patch b/patches/server/0172-Extend-Player-Interact-cancellation.patch index fee4959d90..3062db9468 100644 --- a/patches/server/0172-Extend-Player-Interact-cancellation.patch +++ b/patches/server/0172-Extend-Player-Interact-cancellation.patch @@ -10,7 +10,7 @@ Flower pots are also not updated on the client when interaction is cancelled, th also resolves this. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index f4bf927477af23365a2d4618a1634195bd2054c8..5f2dec1917f1c1c3bb69446832321f3fc21dc129 100644 +index f4bf927477af23365a2d4618a1634195bd2054c8..e2d8bb349591d103606b158bc116b09d333c87ce 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -514,7 +514,11 @@ public class ServerPlayerGameMode { @@ -18,7 +18,7 @@ index f4bf927477af23365a2d4618a1634195bd2054c8..5f2dec1917f1c1c3bb69446832321f3f // send a correcting update to the client for the block above as well, this because of replaceable blocks (such as grass, sea grass etc) player.connection.send(new ClientboundBlockUpdatePacket(world, blockposition.above())); + // Paper start - extend Player Interact cancellation // TODO: consider merging this into the extracted method -+ } else if (iblockdata.is(Blocks.STRUCTURE_BLOCK) || iblockdata.getBlock() instanceof net.minecraft.world.level.block.CommandBlock) { ++ } else if (iblockdata.is(Blocks.JIGSAW) || iblockdata.is(Blocks.STRUCTURE_BLOCK) || iblockdata.getBlock() instanceof net.minecraft.world.level.block.CommandBlock) { + player.connection.send(new net.minecraft.network.protocol.game.ClientboundContainerClosePacket(this.player.containerMenu.containerId)); } + // Paper end - extend Player Interact cancellation diff --git a/patches/server/0934-Dont-resend-blocks-on-interactions.patch b/patches/server/0934-Dont-resend-blocks-on-interactions.patch index 9afb1ffa5b..5cca0bf242 100644 --- a/patches/server/0934-Dont-resend-blocks-on-interactions.patch +++ b/patches/server/0934-Dont-resend-blocks-on-interactions.patch @@ -8,7 +8,7 @@ In general, the client now has an acknowledgment system which will prevent block It should be noted that this system does not yet support block entities, so those still need to resynced when needed. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index cef3a64b5e6c4d34ed079078420078a7adfcd574..3dff328c5e4456aae291a8dec82766681f49af06 100644 +index dd78a1685bd841577aa9d5010fffda1468901baf..c5f3ba82b3ded415ff4bffc9eabf9526695e1ba7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -202,7 +202,7 @@ public class ServerPlayerGameMode { @@ -124,7 +124,7 @@ index cef3a64b5e6c4d34ed079078420078a7adfcd574..3dff328c5e4456aae291a8dec8276668 - player.connection.send(new ClientboundBlockUpdatePacket(world, blockposition.above())); + //player.connection.send(new ClientboundBlockUpdatePacket(world, blockposition.above())); // Paper - Don't resync blocks // Paper start - extend Player Interact cancellation // TODO: consider merging this into the extracted method - } else if (iblockdata.is(Blocks.STRUCTURE_BLOCK) || iblockdata.getBlock() instanceof net.minecraft.world.level.block.CommandBlock) { + } else if (iblockdata.is(Blocks.JIGSAW) || iblockdata.is(Blocks.STRUCTURE_BLOCK) || iblockdata.getBlock() instanceof net.minecraft.world.level.block.CommandBlock) { player.connection.send(new net.minecraft.network.protocol.game.ClientboundContainerClosePacket(this.player.containerMenu.containerId)); diff --git a/src/main/java/net/minecraft/world/item/BucketItem.java b/src/main/java/net/minecraft/world/item/BucketItem.java index 6d494b80ae002aea00afa44adf83dad1ae5bbbc1..49557d6f22c5725c663a231deab019d4f6fe95fa 100644 |