EdwinMindcraft / origins-architectury

MIT License
20 stars 17 forks source link

Origins selection menu fails to open when all nine of these mods are installed #423

Closed Shasskor closed 5 months ago

Shasskor commented 7 months ago

When these mods are all installed the game doesn't prompt the selection of origin when entering a survival singleplayer world. Opening the origin menu with 'O' yields the message "You can not have any Origins." When trying to assign an origin with commands, the only auto-complete option for Origin is origins:empty.

Playing on Forge 47.2.0 with Minecraft version 1.20.1. The installed mods are: Caelus API Forgified Fabric API Moonlight Lib Origins (forge) Quark Sawmill Sinytra Connector Supplementaries Zeta

If any of the listed mods are removed Origins resume expected behaviour and this error only occours if all of the listed mods are installed.

Log: latest.log 2024-03-03_08 58 47

muon-rw commented 7 months ago

Thank you for narrowing this down.

Does disconnecting and joining the world a second time without restarting the game result in normal functionality returning?

Shasskor commented 7 months ago

Thank you for narrowing this down.

Does disconnecting and joining the world a second time without restarting the game result in normal functionality returning?

So it does

Liamgrayskull commented 7 months ago

Stumbled upon this same issue in my own environment and can confirm it persists with the narrowed list as well

MerchantPug commented 6 months ago

Strange. I was only able to replicate this once.

MerchantPug commented 6 months ago

Either way, I don't really have any leads other than I doubt it's a mod interaction issue and it's more on Origins Forge's hacky registry system somehow not registering Origins. For anybody who can replicate the issue again, please check the output of the /power command and see if any powers show up.

MerchantPug commented 6 months ago

Please retry with the new version of Origins.

Shasskor commented 6 months ago

Issue still persists in newest version.

For anybody who can replicate the issue again, please check the output of the /power command and see if any powers show up.

Powers show up with the /power command, and I successfully granted myself the Photoallergic power that worked as intended.

MerchantPug commented 6 months ago

I have no clue as to how this issue could be caused.

muon-rw commented 6 months ago

A bit more info, although origins do not appear in command autocomplete but every power does, you can still manually set your origin if you happen to know the origin's identifier and type it in. (origin set @s origins:origin origins:shulk will still work, for example)

When you do this, you still receive every power and the origin functions normally (verifiable with /power has), but they do not show up in the Origin info screen (O), only the Origin name and description.

This last part is seemingly random - powers always seem to be applied, but about half of the origins show these powers in the info menu while half do not, with no readily discernible pattern.

Joshernoob commented 6 months ago

my guess is this is Supplementaries as i only have that and Caelus API of the list and my menu is not working at all when i load up

goldrat1 commented 6 months ago

This is still happening and is exacerbated by the fact that if a player doesn't get to choose their origin then for some reason they can't take any damage from any source. as someone who's about to start up a server it's gonna be a real pain making sure people relog or however the hell this'll work in a multiplayer setting to make sure they don't abuse the invulnerability

muon-rw commented 6 months ago

however the hell this'll work in a multiplayer setting to make sure they don't abuse the invulnerability

This issue probably only occurs in Singleplayer (and maybe hosting with LAN, but don’t do that)

MerchantPug commented 6 months ago

Hi everyone, sorry, but I can't entirely look into this issue right now, I've decided to pace myself with Origins Forge so I don't get burnt out. But my break will stop soon, so I'll see if I can look into it then, this is probably an issue with the Origin GUI, rather than the registry, because the /power and /origin commands seem to work as intended.

I just can't be entirely sure what's going on here. It happens on a minimal instance from time to time too apparently. It's not consistent on my end so it might be a hard thing to debug.

goldrat1 commented 6 months ago

No worries, don’t burn yourself out over anything 👍 I’ll manage with the server side stuff, hopefully muon is right with this being single-player only but we’ll have to see

MerchantPug commented 6 months ago

however the hell this'll work in a multiplayer setting to make sure they don't abuse the invulnerability

This issue probably only occurs in Singleplayer (and maybe hosting with LAN, but don’t do that)

This is an incredibly good lead tho, because i might know the fix through this alone.

Shasskor commented 6 months ago

I quickly set up a localy hosted server with the same version of forge with the same mods, and I confirm the origin gui appeared as normally expected.

DruCart3456 commented 5 months ago

Am currently having this issue and am messing around with it. Singleplayer / LAN world. Powers show up, and are grantable. Origins, however, are not grantable. Very strange. Though I am on version 1.19.2, which I know isn't being updated anymore, but I hope the fix does come out soon.

DruCart3456 commented 5 months ago

Unsure if its related to this same issue, but strangely enough after some testing, the mod will read and function with Datapacks. They will still load, the menu will open, and I can pick any of the origins added in the Datapack, and they work exactly as intended. Origins loaded in with the mod are what don't work. Hopefully, that helps at least some.

eggohito commented 5 months ago

This is still happening and is exacerbated by the fact that if a player doesn't get to choose their origin then for some reason they can't take any damage from any source.

This is not really related to the root issue, but this is actually the intended behavior for quite some time. This has been changed in Origins 1.11.0 to account for the edge-cases where the player either hasn't chosen an origin, or cannot choose an origin in an origin layer.

The players are now only invulnerable if they are actively choosing an origin (the Forge port hasn't caught up with the new updates in Fabric yet, and I'm not sure if the change will be backported)

MerchantPug commented 5 months ago

Could somebody who can replicate the issue test with this jar, and send logs? https://cdn.discordapp.com/attachments/1222676671824396389/1230727209530949722/origins-forge-1.20.1-1.10.0.8-beta.1.jar?ex=66345f08&is=6621ea08&hm=4b3f2d68aae817ebbec72d966a9d1e3df3e3392c2a6c6ea08e9514f2ba1361e1&

MerchantPug commented 5 months ago

I'm placing the ugly link out in the open so ppl know what it is. Discord isn't bad for temporary files.

ChicknTurtle commented 5 months ago

Game crashes on launch with this file and Caelus API (on mac)

linaraincalzando commented 5 months ago

Are there supposed to be hard requirements for Calio and Apoli? Those were not there before.

ChicknTurtle commented 5 months ago

Are there supposed to be hard requirements for Calio and Apoli? Those were not there before.

image
linaraincalzando commented 5 months ago

Are there supposed to be hard requirements for Calio and Apoli? Those were not there before.

image

I am just saying that's what my crash logs requested and using those fixed the crashing issue issue.

linaraincalzando commented 5 months ago

Also still not showing origins screen at world creation. Here are my logs, hope they help. https://paste.atlauncher.com/view/34b4a5d2-1247-444d-bd2e-473ab5398999

linaraincalzando commented 5 months ago

Also getting this error again.

image Giving a separate log for this specifically even though I believe they are tied together. https://paste.atlauncher.com/view/fbf4eea4-1934-4644-bd51-e040537e5ba9

Shasskor commented 5 months ago

Replaced the origins jar file, added Apoli and Calio, loaded into singleplayer world in creative. Still no menu. Exited the world and joined it again, the menu opened. It would appear the issue persists unaffected.

Log: latest.log

MerchantPug commented 5 months ago

Hmm okay, it mustn't be an issue with the resolver.

MerchantPug commented 5 months ago

Could i potentially have one of your instances? (Assuming you're using a third party launcher, otherwise, dont worry).

Replicating this consistently is difficult.

linaraincalzando commented 5 months ago

https://cdn.discordapp.com/attachments/1070476175274680361/1231182612723142778/alpha1.13_1.20.1.zip?ex=6624e3a9&is=66239229&hm=7e2ba7f570bfa40b55a1f4462345798cb2a17edcc847b405c690f3c60d5dd178&

Sorry for the ugly link, my instance is over 25mb, also just a heads up, the first time the instance starts there is a 90% chance it will crash, a folder is generating, that is an issue with something completely separate with me still having to cut down the size of the instance, I can tell you though that I can consistently get the origins screen issue when creating new worlds when the instance is initially started and then its a crapshoot when logging into that world in the instance afterwards.

linaraincalzando commented 5 months ago

I personally am still baffled how Sawmill seems to be the tipping point and that the minute I remove it the origins issue disappears.

Shasskor commented 5 months ago

Hoppity Origin Testing-1.0.zip I've exported the instance I've been testing with in the curseforge launcher. To my knowledge removing or disabling any of these mods makes the issue unreproducable

ChicknTurtle commented 5 months ago

Happens with just Origins and Origins++ (and dependencies) Here's a curseforge instance: origins-test.zip

MerchantPug commented 5 months ago

Hi everyone, thanks for the instances. I'll likely be looking into this at the beginning of next month, again to prevent burnout, This issue has gotten me pretty demotivated from working on Origins Forge, mainly because I have absolutely zero clue as to how it could be happening.

So I'll see you all then.

MerchantPug commented 5 months ago

Tested ChicknTurtle's instance on Prism, could not reproduce. Downloading CurseForge launcher now to see if the issue can be consistently replicated there.

linaraincalzando commented 5 months ago

I misunderstood that ChicknTurtle's instance did not have all of the mods that were initially mentioned, but I did try their instance on AT Launcher and can confirm that I was able to immediately recreate the issue.

Here is my log. https://paste.atlauncher.com/view/f42aa015-915f-48e0-9489-a9187c4b0b39

MerchantPug commented 5 months ago

I'm also figuring out if Calio's logging would help here, because that could be important for fixing this issue.

MerchantPug commented 5 months ago

Replicated using Shasskor's instance on CF Launcher, will now look into logs.

MerchantPug commented 5 months ago

Okay, I think I understand a lot better now.

Autocompletion does not work, however, you can still swap to an Origin. This must be an issue with how origins gets origins on the client.

MerchantPug commented 5 months ago

image

ChicknTurtle commented 5 months ago

This must be an issue with how origins gets origins on the client.

Yes, sometimes I can choose an origin but another player in the world (joined through Essential) can't.

MerchantPug commented 5 months ago

I believe I've found the fix.

@Contract(pure = true)
private static RegistryAccess getSidedRegistryAccess() {
    if (EffectiveSide.get().isClient())
-       return null;
+       return Minecraft.getInstance().level.registryAccess();
    if (ServerLifecycleHooks.getCurrentServer() != null)
        return ServerLifecycleHooks.getCurrentServer().registryAccess();
    return RegistryAccess.EMPTY;
}

For some reason, it'd return null on the client. Which I am a little unsure as to why this was the case, but there is an easily accessible registryaccess on the client, so we can just use that.

MerchantPug commented 5 months ago

New test jar: https://wormhole.app/3rjEp#ApXFQ0LPwm05feaASKrvFw

It seems to work on my previously incorrect behaviour instance, however, I want to make sure that this is the proper fix.

MerchantPug commented 5 months ago

This must be an issue with how origins gets origins on the client.

Yes, sometimes I can choose an origin but another player in the world (joined through Essential) can't.

Essential is a little finnicky, and I don't really think we can actively support it, but hopefully the fix above works.

ChicknTurtle commented 5 months ago

New jar crashes when I click to create a new world crash-2024-05-02_19.24.17-client.txt

linaraincalzando commented 5 months ago

https://paste.atlauncher.com/view/4c1fea98-6a96-4693-9cac-6822379e2590

crashed for me too

MerchantPug commented 5 months ago

Thanks, I think I know the fix for this crash. I did expect something like this to happen.

MerchantPug commented 5 months ago

Beta 3 https://wormhole.app/lMKa9#e3Yjq_owGOEVzF1XV3VXiw

linaraincalzando commented 5 months ago

Oh this might be the one! I am going to test it a couple more times. (This is just single player btw)