Runix-Minecraft / Runix

Home of the forge based, Runecraft inspired Minecraft mod
3 stars 0 forks source link

Rotate backup JSON files as .old #15

Open 0xilly opened 10 years ago

0xilly commented 10 years ago

If for what ever reason the world file corrupts you take the Runix save folder and drop it in the Runix config directory and it will regenerate the runes into the world(as best it can).

An Idea I had then forgot.

josiahseaman commented 10 years ago

1) It is most imperative to save the JSON for each rune that is used in regular world persistence. One easy way to ensure that is to have a .old copy for every file and only cycle out the .old file after you've verified the new file parses correctly. 2) I think what you're talking about is scanning the world for existing rune block patterns. It's an interesting idea, but it wouldn't pick up player and tool enchantments. You'd also lose any stored energy that you had in persistent runes, which could be costly. Finally, my intuition is that scanning all block locations would be prohibitively slow. 1km * 1km * 70 = 70 million blocks with 6 orientations to check.

0xilly commented 10 years ago

Player/tool enchantments there is nothing we could do as for the slowness of scanning for runes I'm under the belief that if it's slow it's slow the command should only be used as a tool/option of last resort... Better yet instead of it being a command make it a config option that resets after use. But as of right now this it simply theory just placed this here to get back to after the initial port.

0xilly commented 10 years ago

Opps didn't mean to close

josiahseaman commented 10 years ago

I've update the title to reflect a solution that is actually feasible. Scanning the whole world for block patterns is simply not feasible given the high level of tolerance possibleRuneActivation() has for patterns. You'd populate the world with a 1,000 randomly occurring runes in natural ore deposits after hours of computation. The player created runes would be buried in a mountain of false positives.

Instead, rotating backups to avoid corruption is a perfectly feasible solution to make sure you never lose rune information.