Skip to content

Commit

Permalink
Merge branch 'development' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
froehlichA committed Jul 27, 2022
2 parents c9c5786 + f8adfda commit 1ccdc23
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 4 deletions.
4 changes: 2 additions & 2 deletions src/api/cfcore.nim
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,9 @@ proc isFabricCompatible*(file: CfAddonFile): bool =

proc isForgeCompatible*(file: CfAddonFile): bool =
## returns true if `file` is compatible with the forge loader.
if file.name.toLower.match(re".*\Wfabric\W.*"):
if file.name.toLower.match(re".*\Wquilt\W.*") or file.name.toLower.match(re".*\Wfabric\W.*"):
return false
if not ("Fabric".Version in file.gameVersions and not ("Forge".Version in file.gameVersions)):
if "Forge".Version in file.gameVersions or not ("Fabric".Version in file.gameVersions or "Quilt".Version in file.gameVersions):
return true
if file.name.toLower.match(re".*\Wforge\W.*"):
return true
Expand Down
2 changes: 1 addition & 1 deletion src/modpack/version.nim
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ proc `<=`*(v1: Version, v2: Version): bool = v1 < v2 or v1 == v2

proc proper*(v: seq[Version]): seq[Version] =
## filter out "Forge" and "Fabric" values
return v.filter((x) => x != "Forge".Version and x != "Fabric".Version)
return v.filter((x) => x != "Forge".Version and x != "Fabric".Version and x != "Quilt".Version)
13 changes: 12 additions & 1 deletion tests/modpack/tinstall.nim
Original file line number Diff line number Diff line change
Expand Up @@ -235,4 +235,15 @@ block: # select out of mixed mods
mcVersion = "1.16.2".Version
doAssert mods.selectAddonFile(loader, mcVersion, InstallStrategy.Stable) == mods[0]
doAssert mods.selectAddonFile(loader, mcVersion, InstallStrategy.Recommended) == mods[0]
doAssert mods.selectAddonFile(loader, mcVersion, InstallStrategy.Newest) == mods[0]
doAssert mods.selectAddonFile(loader, mcVersion, InstallStrategy.Newest) == mods[0]

block: # prevent quilt mods from being selected for forge
let loader = Loader.Forge
let mcVersion = "1.16.1".Version
let mods = @[
initCfAddonFile(801, "abc-1.3.2.jar", @["Quilt", "1.16.1", "1.16.2"], CfAddonFileReleaseType.Release),
initCfAddonFile(701, "abc-1.3.2.jar", @["Fabric", "1.16.1", "1.16.2"], CfAddonFileReleaseType.Release),
initCfAddonFile(601, "abc-1.2.2.jar", @["Forge", "1.16", "1.16.1"], CfAddonFileReleaseType.Alpha),
]

doAssert mods.selectAddonFile(loader, mcVersion, InstallStrategy.Stable) == mods[2]

0 comments on commit 1ccdc23

Please sign in to comment.