You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Have you ever changed a setting that broke your game and spent longer than 1 click trying to undo that change?
Prism allows you to do useful things like export saves even if you can't launch the game, but if a mod or setting change corrupts your save file, you're screwed.
I propose something akin to a "snapshot" and "rollback" system. Consider the following:
Prism keeps track of modifications made to an instance in a list/tree:
Point in time
Event
0
Instance Created
1
Mod(s) added
2
JRE setting changed
3
Mod loader version changed (⚠️)
Let's say that step 3, changing the mod loader, introduces a crash/instability/undesired behavior. Currently, my only option is to remember what I changed so I can manually undo it. If I don't remember what I did before, then I might be screwed. I'd rather have a tool that allows me to move backward in time, automatically reverting/reapplying changes.
This would make modding/tweaking much less risky. Additionally, I no longer have to remember what I did or manually make copies of my instance every time I want to tweak something.
I see a few potential tough-to-solve problems with this approach. I will list them here along with any ideas I have on resolving them.
- How is this better than simply copying the instance every time you want to make a potentially breaking change?
Every change is a potentially breaking change. I want to be able to easily revert a change without having to remember what it was. Also, copying the instance each time is annoying and leads to a cluttered instance list.
- What about my saves?
It should be possible for saves to "time-travel" back to a previous point in time, but with necessary warnings that they could be corrupted due to this. If you just changed your memory allocation for example, you should be able to bring the save back without any issues (correct me if I'm wrong). But if traveling in time removes a terrain gen mod, expect issues. It's really up to you to read the timeline and understand whether or not you will encounter issues by bringing your saves with you.
- How would we "snapshot" an instance?
I can think of a few ideas:
Use the Exported prism mc file, which can contain all the metadata needed to reconstruct the instance. I think this essentially just zips the instance folder, so it literally includes everything. This will likely not be trivial since you don't really want updates to your saves to have snapshots. The goal of this tool is to snapshot instance settings, not world saves. Use a mod or something for that.
If we forget about the saves, pretty much everything else is stored in text/binary files. It should be relatively easy to store that in a tarball or something else as the "snapshot."
- How could we keep track of changes in the way described?
Git, of course! Just kidding... 👀
If not, Prism can keep track of the settings you edit, and create a diff between the current state of the instance and the previous snapshot. Using that, you can trivially roll back and forth and have it auto-update the relevant settings. We're essentially just editing text files most of the time, that's easy to do automatically.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Have you ever changed a setting that broke your game and spent longer than 1 click trying to undo that change?
Prism allows you to do useful things like export saves even if you can't launch the game, but if a mod or setting change corrupts your save file, you're screwed.
I propose something akin to a "snapshot" and "rollback" system. Consider the following:
Prism keeps track of modifications made to an instance in a list/tree:
Let's say that step 3, changing the mod loader, introduces a crash/instability/undesired behavior. Currently, my only option is to remember what I changed so I can manually undo it. If I don't remember what I did before, then I might be screwed. I'd rather have a tool that allows me to move backward in time, automatically reverting/reapplying changes.
This would make modding/tweaking much less risky. Additionally, I no longer have to remember what I did or manually make copies of my instance every time I want to tweak something.
I see a few potential tough-to-solve problems with this approach. I will list them here along with any ideas I have on resolving them.
- How is this better than simply copying the instance every time you want to make a potentially breaking change?
Every change is a potentially breaking change. I want to be able to easily revert a change without having to remember what it was. Also, copying the instance each time is annoying and leads to a cluttered instance list.
- What about my saves?
It should be possible for saves to "time-travel" back to a previous point in time, but with necessary warnings that they could be corrupted due to this. If you just changed your memory allocation for example, you should be able to bring the save back without any issues (correct me if I'm wrong). But if traveling in time removes a terrain gen mod, expect issues. It's really up to you to read the timeline and understand whether or not you will encounter issues by bringing your saves with you.
- How would we "snapshot" an instance?
I can think of a few ideas:
- How could we keep track of changes in the way described?
Git, of course! Just kidding... 👀
If not, Prism can keep track of the settings you edit, and create a diff between the current state of the instance and the previous snapshot. Using that, you can trivially roll back and forth and have it auto-update the relevant settings. We're essentially just editing text files most of the time, that's easy to do automatically.
Let me know what you all think!
Beta Was this translation helpful? Give feedback.
All reactions