Introduction: The current mcpe-protocol directive in the plugin.yml disables the plugin when the protocol is updated. This RFC proposes to improve that feature. Subject: The current spec uses only the protocol described in mcpe-protocol to determine whether to enable or disable, regardless of the packets used by the plugin, but this is not desirable because developers with low update frequency are rushed to support the latest version by Poggit and others. So, I think it would be a good to disable the plugin only when the specific packet used by the plugin is updated by using the following structure for mcpe-protocol and writing the last updated protocol version of the packet. Also, I suggests implement this feature on master(API 4.0). e.g. plugin.yml Code: mcpe-protocol: AddPlayerPacket: 428 StartGamePacket: 428 Const class that summarizes the last updated version of the protocol PHP: final class PacketVersion { ~~~ public const ADD_PLAYER_PACKET = 291; ~~~ public const START_GAME_PACKET = 428;} Result If even one of the versions is less than the tested version of the packet, disable the plugin. PacketVersion::{PACKET_NAME} >= mcpe-protocol.{PacketName} = true PacketVersion::{PACKET_NAME} < mcpe-protocol.{PacketName} = false BCBreak: The old mcpe-protocol directive should work as well, and this change will be added. so BCBreak will not occur. However, there are only a handful of plugins that use this directive.... What a maintainer should do with this: When updating packet, you need to update the packet version at the same time.
This is actually an interesting idea. But you should post this as a GitHub RFC. It's going to get forgotten here because I don't browse this section very often.