Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retrogen support #46

Open
LemADEC opened this issue Sep 30, 2014 · 6 comments
Open

Retrogen support #46

LemADEC opened this issue Sep 30, 2014 · 6 comments

Comments

@LemADEC
Copy link

LemADEC commented Sep 30, 2014

Please add support for retrogen to better support existing maps and recovers from non-populated chunks.

Proposed design: add a custom NBT property to the chunk with a signature. If key is missing, no signature or different from the one set in configuration, then chunk needs a repopulation.
You could even propose a default signature that is computed as the checksum of cog configuration data so it's automatically handled (and still live the option to force the signature for fine tuning).

@lawremi
Copy link
Owner

lawremi commented Jan 16, 2015

I am becoming convinced that this is a good idea, as it may also help with the deferred generation issues, which seem to break mods like Galacticraft. I could see having a save-level "version" option (like the key you suggested). If bumped, older chunks get updated. The only issue is that COG populations are not independent. Running COG twice over a chunk is not necessarily the same as running it once. So updates may not be quite the same as a fresh run.

@LemADEC
Copy link
Author

LemADEC commented Jan 16, 2015

At least it gives a more solid approach to world-gen, allowing to recover from crashes, conflict with other mods and such.
Also, we could have a new boolean variable in the script to mark it as 'retrogen' so the script could decide what to do. Maybe even export the old 'key' value so you could 'upgrade' a map.

@LemADEC
Copy link
Author

LemADEC commented Oct 27, 2015

I'm giving another try to Custom oregen for my modpack. Have you been able to fix that issue?

@lawremi
Copy link
Owner

lawremi commented Oct 28, 2015

Not yet. Would you please clarify what exactly you would need for your modpack? Some sort of versioning might work. I think it would have to be associated with individual distributions, so we would know which need to be re-run. Please note that it's challenging to design distributions so that they are commutative, i.e., that they can be run again and achieve the desired effect. Adding a new distribution would be easier to configure and support.

@LemADEC
Copy link
Author

LemADEC commented Oct 28, 2015

My main concern is to recover from crash or non-generated chunks.
My second concern is being able to retrogen:

  • I add a new distribution and it needs to be run in all chunks, existing or not
  • I modify an existing distribution and it re-runs (it's up to me to clear the previous distribution, when possible)

@lawremi
Copy link
Owner

lawremi commented Oct 29, 2015

I will try to work on this this weekend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants