+ Select the version of {{ data.project?.title || "the modpack" }} you want to install
+ on your server.
+
+
+
+
+
+
+
+
+ If enabled, existing mods, worlds, and configurations, will be deleted before
+ installing the new modpack version.
+
+
@@ -618,6 +646,27 @@ const updateData = async () => {
};
updateData();
+const latestVersion = computed(() => {
+ if (!Array.isArray(versions?.value) || versions.value.length === 0) return null;
+ return versions.value.reduce((latest: any, current: any) => {
+ if (!latest) return current;
+ return latest.version_number > current.version_number ? latest : current;
+ }, null);
+});
+
+const hasNewerVersion = computed(() => {
+ if (!currentVersion.value?.version_number || !latestVersion.value?.version_number) return false;
+ return latestVersion.value.version_number > currentVersion.value.version_number;
+});
+
+const handleUpdateToLatest = async () => {
+ if (!latestVersion.value) return;
+
+ version.value = latestVersion.value.version_number;
+ hardReset.value = false;
+ await reinstallCurrent();
+};
+
const paperVersions = ref
>({});
const purpurVersions = ref>({});
@@ -705,6 +754,7 @@ watch(selectedMCVersion, async () => {
const onShow = () => {
selectedMCVersion.value = props.server.general?.mc_version || "";
selectedLoaderVersion.value = "";
+ hardReset.value = false;
};
const onHide = () => {
@@ -743,7 +793,14 @@ const reinstallCurrent = async () => {
const resolvedVersionIds = versionIds.value;
const versionId = resolvedVersionIds.find((entry: any) => entry[version.value])?.[version.value];
try {
- await props.server.general?.reinstall(serverId, false, projectId, versionId);
+ await props.server.general?.reinstall(
+ serverId,
+ false,
+ projectId,
+ versionId,
+ undefined,
+ hardReset.value,
+ );
emit("reinstall");
} catch (error) {
handleReinstallError(error);