pmmp / PocketMine-MP

A server software for Minecraft: Bedrock Edition in PHP
https://pmmp.io
GNU Lesser General Public License v3.0
3.27k stars 1.55k forks source link

Changes to BlockEntityDataPacket behaviour for Signs in v1.1.0.9 beta #956

Closed Awzaw closed 6 years ago

Awzaw commented 7 years ago

Description

MCPE 1.1 beta7 sends a BlockEntityDataPacket for every keypress during sign creation, firing multiple SignChangeEvents. Previously this was only the case when the sign was finalised - now there is no such indication that the user has finished typing, which breaks plugins that require user-generated signs.

Steps to Reproduce

Install a plugin to listen for SignChangeEvents. Create and place a sign, observe output: SignChangeEvent is fired on each keypress (except 'new line'), but no event is fired when the user closes the window to finalise the sign.

OS and Versions

dktapps commented 7 years ago

This behaviour is, I believe, intended. However the lack of ability to tell when the sign text is finalised is considered a bug by Mojang and has been reported as https://bugs.mojang.com/browse/MCPE-22124.

Muqsit commented 7 years ago

Mojang back at it again!

dktapps commented 7 years ago

I'd prefer this remained open, this might be a client issue but it is also an API problem.

dktapps commented 6 years ago

I'm going to close this since it is not fixable by a server (this is a client sided issue). I was going to try and do a hack for this based on the ABORT_BREAK action, but it seems the client doesn't send this action when closing the sign UI anymore, so there is pretty much no way this can be solved short of guessing what is happening.