Currently, the server sends the Close Window packet when receiving a Close Window packet from the client.
This is due to calling Player#closeInventory() when receiving the Close Window packet from the client, which updates the server's internal state and sends the close window packet to the player.
I have changed this to simply update the server's internal state and not send the packet, and added a test to catch the issue in the future.
Currently, the server sends the Close Window packet when receiving a Close Window packet from the client.
This is due to calling
Player#closeInventory()
when receiving the Close Window packet from the client, which updates the server's internal state and sends the close window packet to the player.I have changed this to simply update the server's internal state and not send the packet, and added a test to catch the issue in the future.
Minestom issue: https://github.com/Minestom/Minestom/issues/713.