Roughly Enough Items Forge (Unused CF Project, Use the Merged One)

Roughly Enough Items Forge (Unused CF Project, Use the Merged One)

352k Downloads

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

SomeGDPerson123 opened this issue ยท 37 comments

commented

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
commented

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

commented

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

commented

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

commented

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.

commented

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

commented

oh yes. that would be awesome.

commented

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.

commented

PUHLEASEEEEE

commented

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!

commented

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) [?:?]

commented

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.

commented

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?

commented

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.

commented

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.

commented

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.

commented

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

commented

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.

commented

wouldn't it be reasonable to add an option to just load all vanilla recipes, if we know the server is vanilla but don't have op?