TheCSMods / mc-better-stats

A Minecraft (Fabric) mod that improves the statistics screen and makes it more useful.
https://modrinth.com/mod/n6PXGAoM
GNU Lesser General Public License v3.0
49 stars 19 forks source link

[v3.9.7+forge-1.20.1] Incompatibilities with Upgrade Aquatic in multiplayer mode #119

Open ghost opened 5 months ago

ghost commented 5 months ago

What happened?

Both mods work in singleplayer, on multiplayer servers or in lan scrolling or filter menu breaks in statistics screen. It mostly appears on 1.20.1 versions, but some problems exist on 1.19.2 (for example filter menu doesn't close or "Time Since Last Rest" updates when menu is opened, when it should not)

1.20.1 BSS runs with Sinytra Connector, 1.19.2 I used forge version, so it's not a problem with Connector.

Steps to reproduce

  1. Enter singleplayer world or join server
  2. (in singleplayer only) open game to lan
  3. open stats screen

Relevant log output or crash report

No response

Other installed mods

  1. Better Statistics Screen
  2. Upgrade Aquatic https://www.curseforge.com/minecraft/mc-mods/upgrade-aquatic

Code of Conduct

TheCSDev commented 2 months ago

Hello, and sorry for taking so long (months) to respond. It appears I somehow managed to miss this issue.
After some testing, I encountered the same issue, after which, I immediately knew what exactly is going on and causing the issue.

The issue lies in the fact that another mod (in this case likely Update Aquatic or its API mod), is for some reason sending frequent "statistics" packets from the server to the client.

Normally, this is how BSS client and the server are supposed to communicate:

  1. The client open the BS screen, and BSS requests the statistics from the server
  2. The server recieves the request, and sends a single payload to the client, containing the statistics
  3. The client recieves the payload, after which BSS is programmed to refresh the entire screen

Now, because something from the server keeps sending statistics payloads over and over on repeat, several times per second (what a waste of bandwidth if you ask me...), BSS being programmed to refresh the screen on payload, keeps refreshing itself on repeat, causing weird glitchy behavior.

In other words, recieving a payload spam from the server was never accounted for in BSS. I'll likely patch that in the future, just so the mod can tackle servers that act weird and do that kinda stuff.

Thanks a lot for the suggestion (edit: i meant bug report), and sorry again for taking so long. Have a great day!