Darkhax-Minecraft / Game-Stages

An API for universal player based progression.
https://minecraft.curseforge.com/projects/game-stages
GNU Lesser General Public License v2.1
63 stars 17 forks source link

[1.16.5] Incorrect synchronization with the client #75

Closed Sleepwalkerx closed 1 year ago

Sleepwalkerx commented 1 year ago

Environment Details

Mod Version: 7.3.14 Game Version: 1.16.5 Loader Type: Forge Loader Version: 36.2.39 Game Type: Server

The Issue

Briefly: the problem is premature, incorrect (based on events) sending data to the client.

More detailed: I am writing my mod pack and using Gamestages with addons -> RecipeStages and ItemStages in it. When I started testing the build on the server, I noticed that Gamestages were not syncing correctly on the client for some reason. How it looks like: RecipeStages -> does not hide recipes in JEI. When viewing a recipe in JEI, it does not write what stage it is. ItemStages -> does not add Tooltips to items.

In general, the client part, apparently, is simply not initialized. However, the server part works fine, because when you try to take an item in your hand, ItemStages does not allow you to do this, and RecipeStages does not allow you to craft.

However, during tests, I noticed that sometimes synchronization with the client is successful, but it happens with a 15% chance if you restart the game and log on to the server again. Also, during tests, I noticed that if I impose GameStages without using tags, it really works somehow (that is, some data is not exactly synchronized, but it works at 90%). However, if I use tags, then nothing is synced at all.

I tried to discuss this problem with the author of the RecipeStages mod, because I believed that the problem was in him. However, he and I came to the conclusion that the problem is in GameStages and that he somehow incorrectly sends data to the client.

I will try to attach some of my scripts and photos, so that you will be convinced. I don't think logs are needed, because I didn't notice much in them.

Also, I want you to understand that this is an error ONLY on the CLIENT. That is, the server part, all my scripts will come out fine, and GameStages along with addons works great. But as you know, it doesn't make sense without a client, because the player simply doesn't have anything to show him that the object is hidden.

Reproduction Steps

Steps that others can use to recreate this issue.

  1. Create your mod pack with 100 mods and lots of scripts.

Log Files

-

Screenshots / Media

these are just excerpts from my mod pack. mekanism.zs.txt general.zs.txt

Additional Info

How did you download the file? CurseForge

Was this downloaded as part of a modpack? No

Do you have Optifine, other performance mods, or shaders? Optifine without shaders