From fc3b5ff8ea3a08d3a3a4979c026c2e098fc3154d Mon Sep 17 00:00:00 2001 From: comp500 Date: Sat, 21 May 2022 05:05:08 +0100 Subject: [PATCH] Bump current pack format version number and auto-migrate loaded packs --- core/pack.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/core/pack.go b/core/pack.go index b0bee5e..141a18e 100644 --- a/core/pack.go +++ b/core/pack.go @@ -31,10 +31,10 @@ type Pack struct { Options map[string]interface{} `toml:"options"` } -const CurrentPackFormat = "packwiz:1.0.0" +const CurrentPackFormat = "packwiz:1.1.0" var PackFormatConstraintAccepted = mustParseConstraint("~1") -var PackFormatConstraintSuggestUpgrade = mustParseConstraint("~1.0") +var PackFormatConstraintSuggestUpgrade = mustParseConstraint("~1.1") func mustParseConstraint(s string) *semver.Constraints { c, err := semver.NewConstraint(s) @@ -53,8 +53,13 @@ func LoadPack() (Pack, error) { // Check pack-format if len(modpack.PackFormat) == 0 { - fmt.Println("Modpack manifest has no pack-format field; assuming packwiz:1.0.0") - modpack.PackFormat = "packwiz:1.0.0" + fmt.Println("Modpack manifest has no pack-format field; assuming packwiz:1.1.0") + modpack.PackFormat = "packwiz:1.1.0" + } + // Auto-migrate versions + if modpack.PackFormat == "packwiz:1.0.0" { + fmt.Println("Automatically migrating pack to packwiz:1.1.0 format...") + modpack.PackFormat = "packwiz:1.1.0" } if !strings.HasPrefix(modpack.PackFormat, "packwiz:") { return Pack{}, errors.New("pack-format field does not indicate a valid packwiz pack")