DarkPacks / SevTech-Ages

SevTech: Ages is a massive Minecraft modpack packed with content and progression.
https://minecraft.curseforge.com/projects/sevtech-ages
GNU General Public License v3.0
227 stars 78 forks source link

Advancements will not progress even with the command. #3983

Open mario308 opened 4 years ago

mario308 commented 4 years ago

Bug Report

Once I got to Age 4, advancements stopped getting complete after I crafted the items/went to those dimensions. Using the /advancement command to give myself the advancement did not work. A current workaround is to have the crafted item in your inventory, save and quit to title screen, open the world again and the advancements will complete but any advancements competed afterwards will not work again. There is no workaround for advancements requiring you to go to a dimension.

I haven't been able to figure this out but randomly advancements will start working again but they will randomly stop after a while even before saving and quitting.

Expected Behaviour

Advancements should complete as soon as you craft the item/go to a dimension

Possible Solution

Not sure. If there is some sort of file that I can trash to reset advancements and then I can go through all of them to give them to myself manually I could try that but I don't know which files hold the advancements info.

Steps to Reproduce (for bugs)

Attached a screenshot of Mars advancement not completing even though I am on Mars. 2019-11-04_00 04 29

2019-11-04_00 05 39

Logs

There are no crash logs.

Client Information

World Information

sam-kirby commented 4 years ago

Advancement data is stored in the advancements directory of the specific world or save folder. Each file represents a player by UUID, and they are json format - which is basically a structured text format.

If you could share the current state of your player's advancements file that might help track down the issue.

You can then delete this file and use commands to give advancements back.

mario308 commented 4 years ago

Thanks! Here is my advancement file:

d0bb6295-d7ce-4ebe-baed-b84636dd075c.txt

mario308 commented 4 years ago

By the way, I just deleted my advancement file and although all of my advancements did go away, I still was unable to grant the advancements using the command. If I type the command, it will say that it is granted but the advancement screen stays the same.

Also, after removing that advancement file, I still had access to all items up to age 5 so it seems like there is more data regarding staging stored somewhere else that could be affecting this.

NRGizzer commented 4 years ago

I have the exact same issue. Any help would be great!

ztahenakos commented 4 years ago

I believe I am encountering this issue as well. The first time I noticed this was after I returned from Kepler 22b and got my first inferium essense and prosperity shards via Starlight Transmutation. Any time I open my achievements now and try to change tabs I get a notification saying an unknown error occurred with a link to an error report:

https://paste.dimdev.org/limigivozi.mccrash

I've tried a couple things to fix it, such as manually setting achievements to true in my achievements file, loading from an older file, completely whacking it and loading in, and using the /advancements command and nothing works. Like the OP, if I have the item in my inventory, save and quit, and reload, then I get the advancements.

Katchenz commented 4 years ago

I appear to have this same issue as well. I just stopped gaining advancements with no errors or anything. I also can't progress using the commands.

I did a little bit of testing and I believe I isolated the issue to the ImmersiveEngineering-SaveData.dat file in the data folder of my save. I removed it and I would gain progress again, but all my wiring and possibly other stuff was gone.

I'm doing more testing with the file intact to see if I can figure out what is causing it in game

Edit: I used wire cutters to remove every wire in my world and turned off all generators and turbines. I left and rejoined and was able to progress through advancements again without deleting the ImmersiveEngineering-Savedata.dat file

Katchenz commented 4 years ago

After a bunch of testing regarding the Immersive Engineering mod, I have come to the conclusion that the Fermenter in my world; while running will cause me to not progress when joining the game. If I use a redstone signal to turn it off before leaving the game, everything works fine on reload.

My Fermenter is running a biodiesel generator using melon slices and pumping to a refinery. I haven't been able to reproduce it on a test server as I don't have enough time and a simple setup didn't work.

If anyone else is having this issue and is using a biodiesel setup, try turning off your fermenter and reloading your world

ztahenakos commented 4 years ago

Since I have moved to Environmental Tech / Advanced Generators for power, I whacked my Fermenter but I still have the problem. I can whack more of my Immersive Engineering stuff, at this point I'm just using the Solar Tower for steam for plastic, Arc Furnace, and Crusher. I also have a Pump Jack and 2 Distillation Towers that I'm using, so I can just temporarily decomm them one by one and see if it improves things.. or clone my save and whack everything and turn stuff back on slowly.

Katchenz commented 4 years ago

Ztahenakos, Your problem sounds slightly different than what I was experiencing. I wasn't getting any errors on the advancements page so it may be a different mod causing the issue. My first step was to go into the data folder and move all the .dat files to a backup folder. Once I confirmed it fixed the issue I slowly moved back the files until it broke again. I never lost any data this way

ztahenakos commented 4 years ago

I found that my problem went away (I think) if I created a new Sevtech Profile in the twitch launcher and copied my save to that new profile.

EDIT: So the problem where it will say a problem occurred is gone, but the achievements still don't proc. Removing the ImmersiveEngineering-SaveData.dat file (by a rename) did not restore Achievements.

paul23-git commented 4 years ago

I am also experiencing this exact same problem. However removing the fermenter and whole biodiesel setup didn't solve it for me at all.

Also I notice that I can gain achievements when I'm on the moon, or other dimensions where I haven't discovered a lot of ground.

I notice the problem only happened after I updated the mod version from 3.1.1 to 3.1.2-hotfix.

DrSquishie commented 4 years ago

Not sure if anyone will see this but ive had the problem before, the only way to fix it is to advance back to age 0 then forward to back to where you where. Hope it helps

dyerbm commented 4 years ago

In multiplayer I was able to fix it when on a team by deleting my advancement file, joining the server, and then rejoining the team.

In single player I suspect you may be able to make a copy of the advancement file, delete the original, rejoin the game (to create a new file), and copy the original files contents over. I'll try this if my advancements break again and post here again (currently don't know how to reproduce the issue).

Triniiix commented 4 years ago

I was having this exact same problem and it became a serious issue because I wasn't able to get the Age 4 moon achievement locking me from Age 5. The solution was to remove every wire, turn off any running industrial fermenters, then exit the world and delete the ImmersiveEngineering-SaveData DAT file in the data folder of my save and re-enter the world and go to the moon. Afterwards I had to add back every single wire that I removed. It was super tedious and annoying to do, but I had no choice as there was no other way to get the advancement even with commands.

NicolasDuboisToulouse commented 3 years ago

Same issue here. Turning off the Fermenter and reloading the game work for me.

AzumaMagica commented 3 years ago

Confirming this issue with my own situation. Turning off my fermenter and rebooting fixed it. Curiously, other players connecting via LAN didn't encounter the issue, perhaps because whatever is causing the issue is resolved during initialization and only affects the host?

paul23-git commented 3 years ago

I also started experiencing this only after I got far in age 4 (to the moon) - after that indeed only rebooting after a fermenter has been put off works.

matthew117 commented 3 years ago

I have this issue too 😞 (I have been to the moon)

image

Smashing my IE machines and rebooting did not help and I also tried deleting my advancements/*.json but was unable to get the first achievement either by gameplay or console commands.

Updating from 3.1.2-hotfix.1 to 3.1.6-hotfix.1 did not help.

Deleting ImmersiveEngineering-SaveData.dat also did not help.

matthew117 commented 3 years ago

I'm seeing a bunch of these errors in the logs

[23:55:20] [Server thread/FATAL]: Error executing task
java.util.concurrent.ExecutionException: java.lang.NullPointerException
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_51]
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_51]
    at net.minecraft.util.Util.func_181617_a(SourceFile:47) [h.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:185) [chd.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
Caused by: java.lang.NullPointerException
    at net.minecraft.advancements.PlayerAdvancements.func_194220_a(PlayerAdvancements.java:360) ~[np.class:?]
    at net.minecraft.network.NetHandlerPlayServer.func_194027_a(NetHandlerPlayServer.java:447) ~[pa.class:?]
    at net.minecraft.network.play.client.CPacketSeenAdvancements.func_148833_a(SourceFile:50) ~[lu.class:?]
    at net.minecraft.network.play.client.CPacketSeenAdvancements.func_148833_a(SourceFile:11) ~[lu.class:?]
    at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[hv$1.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_51]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_51]
    at net.minecraft.util.Util.func_181617_a(SourceFile:46) ~[h.class:?]
    ... 5 more

But I don't see a reason why the player or connection would be null here image

Sir-Will commented 3 years ago

Same issue here. Running /triumph debug will say Found no listeners for player. so it seems like there is no INVENTORY_CHANGED listener being created and causing this issue.

Relogging with the required item in the inventory unlocks the advancement.

m3kageyama commented 3 years ago

In my case, delete (or rename) /data/refinedstorage_nodes.dat and recovered.

AKA-Steve commented 3 years ago

This still appears to be an ongoing issue that only began for me in Age 4 I do not see the null pointer exceptions that matthew17 is seeing, For me /triumph debug does not display the message that Sir-Will saw If I rename my advancements file, re-join, quit, then revert the name of the advancements file it appears to work until a further save and quit

AKA-Steve commented 3 years ago

Just to add some more to this since we all seem to have the same problem and various ways around it:

I was running sevtech with the recommended cmdline options, removing those I can gain advancements normally again

AlexanderKuehn commented 2 years ago

I encoutered a similar issue on a server running 3.2.1. I solved it by copying the contents of another players advancements.json into my own advancements.json. Sadly I didn't check for any errors in my original advancements.json and I have no clue what caused the problem.