Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Help] Help disabling the "Partial Recipes" warning in servers. #1784

Open
3 of 7 tasks
SomeGDPerson123 opened this issue Dec 23, 2024 · 17 comments
Open
3 of 7 tasks
Labels
bug Something isn't working

Comments

@SomeGDPerson123
Copy link

What happened?

image
I wanna disable this.

What mod loaders are you seeing the problem on?

Fabric

What do you think this bug is of?

  • Visual
  • Recipe Lookup
  • Cheat Mode
  • Plugin Integration / JEI Plugin Compatibility
  • Others

Relevant log output

There was no help format so I'm using the bug format, but nothing here

Anything else?

No response

By submitting this issue, I have included the necessary logs by pasting the contents into the correct location or attaching the file as an upload.

  • Yes, and I did not use any paste services other than GitHub Gists.

By submitting this issue, I have confirmed my REI and REI's dependencies are up to date.

  • Yes
@SomeGDPerson123 SomeGDPerson123 added the bug Something isn't working label Dec 23, 2024
@ItzLucaGER
Copy link

Was looking for this too, a way to disable it would be great

@WildFyr16
Copy link

WildFyr16 commented Dec 28, 2024

Is it actually detecting that there are recipes that it does not know? I ran the command it says to (I am on a PurPur server) and my default recipe book is all filled out and I still get this error. I cannot find a version of REI for plugin/CraftBukkit based servers, so I cannot install anything server sided either. Does your server have data packs with custom recipes? I wonder if it is detecting that as a problem, as none of the data pack recipes I have shown up in REI.

Here is my log. Nothing seems to show up with REI that looks wrong/out of the ordinary... https://pastebin.com/U0wmDHze

@Tom1817
Copy link

Tom1817 commented Jan 10, 2025

any update on this/anyone found a solution? it's annoying to have to say ok every time I connect to a server

@DarthLeopold
Copy link

I have the same problem and its annoying as hell. I even think about to just dont use REI anymore, and go to JEI instead. I dont even care, if the recipes from the datapacks not show up, but this warning every time is annoying for my vanilla experience. Just an option to disable it would be fine. I dont want more than this.

@shedaniel
Copy link
Owner

shedaniel commented Jan 11, 2025

I can make it an "Okay, don't show again" the second time it shows up

@DarthLeopold
Copy link

oh yes. that would be awesome.

@SomeGDPerson123
Copy link
Author

PUHLEASEEEEE

@WildFyr16
Copy link

PUHLEASEEEEE

This comment is not useful to this issue in the slightest. If you would like this issue fixed, bumping it with incoherent nonsense is not helpful.

If you would like, you can investigate into the problem, and give a report that can help the developers create a system to remember the choice of the user. Provide logs, etc.

@davepusey
Copy link

I can make it an "Okay, don't show again" the second time it shows up

The problem isn't being able to hide/dismiss the message.

The problem is that the message is still being shown even after /recipe give @a * has been run on a server.

Something has clearly changed in the newer versions that is causing this message to be shown erroneously. The root cause needs to be investigated and a proper fix implemented. It was fine in 1.21.0, for example, but not in 1.21.4.

@davepusey
Copy link

davepusey commented Jan 21, 2025

The only obvious thing that stands out in the client log is this...

[09:13:35] [REI-ReloadPlugins/ERROR]: [REI] Failed to run end-reload task for reloadable [ServerDisplayRegistryImpl] in stage [END] java.lang.NullPointerException: Cannot invoke "net.minecraft.server.MinecraftServer.method_3772()" because the return value of "dev.architectury.utils.GameInstance.getServer()" is null

at knot/me.shedaniel.rei.impl.common.registry.displays.ServerDisplayRegistryImpl.getAllSortedRecipes(ServerDisplayRegistryImpl.java:230) ~[RoughlyEnoughItems-18.0.796-fabric.jar:?] at knot/me.shedaniel.rei.impl.common.registry.displays.ServerDisplayRegistryImpl.fillRecipes(ServerDisplayRegistryImpl.java:216) ~[RoughlyEnoughItems-18.0.796-fabric.jar:?] at knot/me.shedaniel.rei.impl.common.registry.displays.ServerDisplayRegistryImpl.endReload(ServerDisplayRegistryImpl.java:209) ~[RoughlyEnoughItems-18.0.796-fabric.jar:?] at knot/me.shedaniel.rei.api.common.registry.Reloadable.endReload(Reloadable.java:47) ~[RoughlyEnoughItems-18.0.796-fabric.jar:?] at knot/me.shedaniel.rei.impl.common.plugins.PluginManagerImpl.reload(PluginManagerImpl.java:464) ~[RoughlyEnoughItems-18.0.796-fabric.jar:?] at knot/me.shedaniel.rei.impl.common.plugins.ReloadManagerImpl.reloadPlugins0(ReloadManagerImpl.java:155) ~[RoughlyEnoughItems-18.0.796-fabric.jar:?] at knot/me.shedaniel.rei.impl.common.plugins.ReloadManagerImpl.reloadPlugins0(ReloadManagerImpl.java:144) ~[RoughlyEnoughItems-18.0.796-fabric.jar:?] at knot/me.shedaniel.rei.impl.common.plugins.ReloadManagerImpl.lambda$reloadPlugins$7(ReloadManagerImpl.java:122) ~[RoughlyEnoughItems-18.0.796-fabric.jar:?] at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?] at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]

@shedaniel
Copy link
Owner

The problem is that the message is still being shown even after /recipe give @A * has been run on a server.

That's am understandable concern, however REI has no way of knowing if it has access to all the recipes or not, the client simply doesn't know much, the data is on the server

Another question, what is the nature of this game instance? Singleplayer? Modded server? Vanilla server? Realms?

@davepusey
Copy link

REI has no way of knowing if it has access to all the recipes or not

It must do if it was able to determine it didn't need to show that message before.

My server is fabric, but it only runs transparent mods like lithium, etc. There are no modded blocks or items being added.

@davepusey
Copy link

In fact, a player entity contains the data element "recipeBook" which according to the wiki "Contains a JSON object detailing recipes the player has unlocked."

And when you type /recipe give @a it gives you an auto-complete listing of every available recipe on the server.

Comparing these two lists should be a simple enough task to make this determination.

@shedaniel
Copy link
Owner

shedaniel commented Jan 21, 2025

It must do if it was able to determine it didn't need to show that message before.

Well this is a changed introduced in 1.21.2, when vanilla no longer sends all the recipes to the client. This is also why other recipe mods haven't updated yet.

Comparing these two lists should be a simple enough task to make this determination.

What two lists? The client only gets the list of unlocked recipes, it doesn't know the total number of recipes that only the server knows about. (Since 1.21.2 as mentioned above)
And if you mean auto-complete, that's not practical since that's only available for operators and not every recipe have conditions to unlock.

If REI is on the server, it sends all the recipes to the client, and as such is a solution to this problem.

@davepusey
Copy link

What two lists? The client only gets the list of unlocked recipes, it doesn't know the total number of recipes that only the server knows about.

Connect to a server and start typing /recipe give @a and notice how all of the available recipes are listed for auto-completion. The client has to have gotten that list from somewhere.

Image

@WildFyr16
Copy link

It must do if it was able to determine it didn't need to show that message before.

Well this is a changed introduced in 1.21.2, when vanilla no longer sends all the recipes to the client. This is also why other recipe mods haven't updated yet.

Ok, Is there a way to enable this again? Is there a setting in the server config, either with vanilla or modded servers? My server is a Purpur server. a plugin that could do this would be useful.

also, do you know WHY this change was made? The change log simply states "The server will now only send known recipes to the client" and gives zero reason as to why this change was made, or what this change achieves.

@GrahamJenkins
Copy link

My two cents:

  1. Yes, please add a check box or config option that will suppress this notice. As others have mentioned, it is irritating having it pop up every time you connect to any server. I'll be honest, I looked at JEI again (out of date, oh well) simply because of this nag, it's that annoying.
  2. With that said, I'd like to encourage everyone commenting to please keep things professional. This is an open source, free project, and support is volunteered. The dev(s) of this project owe you nothing, and a bit of respect goes a long ways. There is a fine line between voicing opinions/displeasure and just making questions/feature requests a negative experience for volunteer developers.

@shedaniel Thanks for your attention!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants