PrismarineJS / node-minecraft-protocol

Parse and serialize minecraft packets, plus authentication and encryption.
https://prismarinejs.github.io/node-minecraft-protocol/
BSD 3-Clause "New" or "Revised" License
1.22k stars 239 forks source link

Some event handlers end up being called multiple times after going thru configuration state. #1286

Closed wgaylord closed 7 months ago

wgaylord commented 7 months ago

[ ] The FAQ doesn't contain a resolution to my issue

Versions

Detailed description of a problem

On servers with world switching that use the new configuration state, chat events end up called multiple times (once per number of transitions thru configuration state) this is due to onReady https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/src/client/play.js#L64 being called even time we exit configuration state and re-registering the chat handler.

I am unsure of a proper fix for this.

rom1504 commented 7 months ago

We need to emit a non ready event and properly unregister all relevant listeners

On Wed, Feb 7, 2024, 12:04 AM William Gaylord @.***> wrote:

[ ] The FAQ https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/docs/FAQ.md doesn't contain a resolution to my issue Versions

  • minecraft-protocol: #.#.#
  • server: paper 1.20.2
  • node: 20

Detailed description of a problem

On servers with world switching that use the new configuration state, chat events end up called multiple times (once per number of transitions thru configuration state) this is due to onReady https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/src/client/play.js#L64 being called even time we exit configuration state and re-registering the chat handler.

I am unsure of a proper fix for this.

— Reply to this email directly, view it on GitHub https://github.com/PrismarineJS/node-minecraft-protocol/issues/1286, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAR437WNT4ANB2WSWYMGXQTYSKZJBAVCNFSM6AAAAABC42KRSCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEZDCOBRGAYTGMI . You are receiving this because you are subscribed to this thread.Message ID: @.***>