Together Forever

Together Forever

16M Downloads

Sync issue

BrishenJ opened this issue ยท 6 comments

commented

using sevTech. The issue I am having is I alone am able to get achievements/advancements as the group creator but my team mate is not able to receive them while we have been on a team.

commented

why is there a red x on my name, it doesn't allow achievements to sync to me

commented

If any of you are OP in the server, deop yourselfs.

commented

I am not OP'd

commented

I also encountered this bug in LAN server.

commented

We are also having this issue. For us this is happening on a SP hosted with a LAN player joining. Advancements happen is the hosting player does them but not if the LAN player does them.

commented

I think I may have the same issue but it manifests differently, possibly because Sponge is also involved.

Modpack: SevTech 3.0.8
Forge: 1.12.2-2768
SpongeForge: 1.12.2-2768-7.1.4

During play, the achievements will stop updating. Any players joining will get an empty advancements window.

There is a crash report being generated, but the server doesn't terminate: https://pastebin.com/at9L3PFH

Description: Exception in server tick loop

java.lang.IllegalStateException: The criterion is not yet initialized
	at com.google.common.base.Preconditions.checkState(Preconditions.java:444)
	at net.minecraft.advancements.CriterionProgress.getCriterion(SourceFile:587)
	at net.minecraft.advancements.AdvancementProgress.spongeGrantCriterion(SourceFile:694)
	at net.minecraft.advancements.AdvancementProgress.handler$onGrantCriterion$zzm000(SourceFile:679)
	at net.minecraft.advancements.AdvancementProgress.func_192109_a(SourceFile)
	at net.minecraft.advancements.PlayerAdvancements.func_192750_a(PlayerAdvancements.java:206)
	at com.buuz135.togetherforever.action.AdvancementEventSyncAction.grantAllParentAchievements(AdvancementEventSyncAction.java:27)
	at com.buuz135.togetherforever.action.AdvancementEventSyncAction.grantAllParentAchievements(AdvancementEventSyncAction.java:25)
	at com.buuz135.togetherforever.action.recovery.AdvancementOfflineRecovery.recoverMissingPlayer(AdvancementOfflineRecovery.java:46)
	at com.buuz135.togetherforever.TogetherForever.onServerTick(TogetherForever.java:121)
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_1374_TogetherForever_onServerTick_ServerTickEvent.invoke(.dynamic)
        ...

I checked Sponge's issues in GitHub and they had a similar problem where the same exception was thrown from the same method call. A fix was put in place 6 months ago and I'm pretty sure it made it into the stable build used on the server.