The Aether

The Aether

32M Downloads

Feature Request: Configurator should keep existing and valid fields when updating the mod

shimmer-n-shine opened this issue ยท 2 comments

commented

What Feature Types Apply to This Request?

Config, System

Other Type

No response

Is This an Enhancement to a Preexisting Feature?

  • I confirm this request is an enhancement to a feature already in The Aether.

What Is Your Feature Request?

The mod should ideally use some sort of config migration system to automatically handle the migration of configs between versions (and if migrations are even needed).

The best and most scaleable way to do this is to include a "config version" variable in the config, and for every update to the aether, to include a config migration history. Migrations would describe how to make changes to the config from the current version to the next or vice versa. They would have an Up() and Down() function which describe how to move "up" and "down" from versions in relative changes. e.g 0.0.1 -> 0.0.2 Up would add a field called "SeperateInventories" , with value type bool.

The simplest way would be to simply use a parser and validator and to invalidate and reset any fields that are incorrect and to add any fields that are missing.

Why Should It Be in the Mod?

When the mod is updated, the config file is reset and the old config file has .bak appended to it. This makes it frustrating to keep up with the aether on a modpack or server as the mod is in beta and hence makes a lot of busy-work to restore the changes you've made update to update. It would also make it easy to migrate between many versions of the aether automatically.

Does This Feature Improve Compatibility With Another Mod?

No response

Please Read and Confirm the Following

  • I have confirmed this feature is either in the original Aether mod, or improves parity between The Aether and Minecraft or other mods.
  • I have confirmed this suggestion is unique and has not been suggested already.
commented

I can't replicate this either on a slim server installation with just aether and curios. Closing this.

commented

I'd need someone else to confirm that configs don't already just work? Mine have no problem carrying between versions without issue. I don't think I've ever had a config file reset when updating? (Just tried updating between a few versions and all the configs carried over just fine)

So yeah could you detail how your configs break like this so I can replicate and decide on whether its worth extra functionality?