parent
6cea998f08
commit
14f9256a61
3 changed files with 31 additions and 3 deletions
|
|
@ -10,6 +10,14 @@ export function DownloadModButton({ cluster, file }: { cluster: ClusterModel; fi
|
|||
const download = useCommandMut(async () => {
|
||||
if ('Managed' in file.kind) {
|
||||
const [pkg, version] = file.kind.Managed;
|
||||
if (version.dependencies.length > 0)
|
||||
for (const dependency of version.dependencies)
|
||||
if (dependency.dependency_type === "required") {
|
||||
const slug = dependency.project_id ?? '';
|
||||
const versions = await bindings.core.getPackageVersions(pkg.provider, slug, cluster.mc_version, cluster.mc_loader, 0, 1);
|
||||
await bindings.core.downloadPackage(pkg.provider, slug, versions.items[0].version_id, cluster.id, null);
|
||||
}
|
||||
|
||||
await bindings.core.downloadPackage(pkg.provider, pkg.id, version.version_id, cluster.id, null);
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -135,6 +135,14 @@ export function ModCard({ file, cluster }: ModCardProps) {
|
|||
const download = useCommandMut(async () => {
|
||||
if ('Managed' in kind) {
|
||||
const [pkg, version] = kind.Managed;
|
||||
if (version.dependencies.length > 0)
|
||||
for (const dependency of version.dependencies)
|
||||
if (dependency.dependency_type === "required") {
|
||||
const slug = dependency.project_id ?? '';
|
||||
const versions = await bindings.core.getPackageVersions(pkg.provider, slug, cluster.mc_version, cluster.mc_loader, 0, 1);
|
||||
await bindings.core.downloadPackage(pkg.provider, slug, versions.items[0].version_id, cluster.id, null);
|
||||
}
|
||||
|
||||
await bindings.core.downloadPackage(pkg.provider, pkg.id, version.version_id, cluster.id, null);
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -111,10 +111,22 @@ function DownloadingMods({ mods, setOpen, nextPath }: { mods: ModDataArray; setO
|
|||
const [downloadedMods, setDownloadedMods] = useState(0);
|
||||
const [modName, setModName] = useState<string | null>(null);
|
||||
const download = useCommandMut(async (mod: ModData) => {
|
||||
if (isManagedMod(mod))
|
||||
if (isManagedMod(mod)) {
|
||||
if (mod.dependencies.length > 0)
|
||||
for (const dependency of mod.dependencies) {
|
||||
const cluster = await bindings.core.getClusterById(mod.clusterId);
|
||||
if (!cluster)
|
||||
continue;
|
||||
if (dependency.dependency_type === "required") {
|
||||
const slug = dependency.project_id ?? '';
|
||||
const versions = await bindings.core.getPackageVersions(mod.provider, slug, cluster.mc_version, cluster.mc_loader, 0, 1);
|
||||
if (versions.items.length !== 0)
|
||||
await bindings.core.downloadPackage(mod.provider, slug, versions.items[0].version_id, cluster.id, null);
|
||||
}
|
||||
}
|
||||
await bindings.core.downloadPackage(mod.provider, mod.id, mod.versionId, mod.clusterId, true);
|
||||
else
|
||||
await bindings.core.downloadExternalPackage(mod.package, mod.clusterId, null, null);
|
||||
}
|
||||
else { await bindings.core.downloadExternalPackage(mod.package, mod.clusterId, null, null); }
|
||||
});
|
||||
|
||||
const { setting } = useSettings();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue