Origins (Forge)

Origins (Forge)

7M Downloads

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

Shasskor opened this issue · 54 comments

commented

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

commented

Please retry with the new version of Origins.

commented

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.

commented

Thank you for narrowing this down.

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

commented

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

commented

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

commented

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

commented

Strange. I was only able to replicate this once.

commented

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.

commented

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.

commented

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

commented

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)

commented

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.

commented

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

commented

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

commented

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.

commented

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.

commented

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.

commented

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.

commented

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)

commented

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.

commented

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

commented

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

commented

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

commented

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

image
commented

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.

commented

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

commented

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

commented

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

commented

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

commented

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

Replicating this consistently is difficult.

commented

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.

commented

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

commented

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

commented

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

commented

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

commented

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

commented

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

commented

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

commented

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.

commented

image

commented

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.

commented

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.

commented

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

commented

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.

commented

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.

commented

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

commented

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

commented

It works for me!

commented

Can confirm works in creative and survival.

commented

Expect a release by the end of the week, anybody is free to use this jar for now, just keep in mind that it will go after 100 downloads, because of wormhole.

commented

It works! Great work!