emilyploszaj / emi

A featureful and accessible item and recipe viewer
MIT License
220 stars 46 forks source link

While joining some servers EMI will just remain in "EMI waiting for recipe data from server..." state #531

Closed yoyosource closed 2 months ago

yoyosource commented 2 months ago

My logs just state:

[18:34:22] [Render thread/INFO]: [EMI] Joining server, EMI waiting for data from server...
[18:34:22] [Render thread/INFO]: [EMI] Recipes synchronized, waiting for tags to reload EMI...

Some time later the logs has the following EMI line:

[20:24:51] [Render thread/INFO]: [EMI] Discovered Sodium

No more message from EMI is printed into the logs afterwards.

Could there be an option to not wait on the server recipes and just use the locally registered ones?

emilyploszaj commented 2 months ago

There is no such thing as locally registered recipes. In minecraft, the server tells the client which recipes and tags exist, even in singleplayer. If your server is not sending that information, vanilla features such as the recipe book won't work as well, and EMI can't display anything because it has no context about what exists. This is an issue on the server's end, sorry.

yoyosource commented 2 months ago

So you cannot even display the vanilla recipes? Or recipes registered locally by a mod? For example skyblocker (https://modrinth.com/mod/skyblocker-liap). Or how are they registering the recipes? Since it is not a server side mod and also not running server side, how is that done?

emilyploszaj commented 2 months ago

All recipes are registered on the server and sent on the client. When you play singleplayer, you are running a server that is communicating with you game. "Vanilla Recipes" aren't a thing that exists from the perspective of the logical client.

yoyosource commented 2 months ago

Ok, so the other mods that just run client side are faking the recipe packet to register those recipes?

emilyploszaj commented 2 months ago

They are registering things with EMI that aren't real recipes.

yoyosource commented 2 months ago

So even those cannot be displayed? Such as that you have not full support, but partial support?

emilyploszaj commented 2 months ago

EMI cannot run any plugins before recipes are received from the server, mods are coded assuming this data is present.

yoyosource commented 2 months ago

Oh I See. That's really inconvenient. So for myself a solution would be to have a mod that sends a recipe packet with all vanilla recipes, by having them locally and pretend towards EMI that everything is alright?

emilyploszaj commented 2 months ago

You're free to pursue that solution.

yoyosource commented 2 months ago

Thanks for the help.