add jvm args setting

This commit is contained in:
Wyvest 2026-02-25 06:43:55 -05:00
parent 6190411635
commit db81396aa6
2 changed files with 43 additions and 31 deletions

View file

@ -313,35 +313,8 @@ export type VersionType =
*/
"old_beta"
const ARGS_MAP = { 'oneclient':'{"checkForUpdate":[],"installUpdate":[],"downloadPackageFromBundle":["package","cluster_id","bundle_name","skip_compatibility"],"getClustersGroupedByMajor":[],"getBundlesFor":["cluster_id"],"getVersions":[],"isBundleSyncing":[],"cacheArt":["path"],"updateBundlePackages":["cluster_id"],"refreshArt":["path"],"extractBundleOverrides":["bundle_path","cluster_id"]}', 'events':'{"message":["event"],"ingress":["event"],"process":["event"]}', 'debug':'{"getBuildTimestamp":[],"getLocale":[],"openDevTools":[],"isInDev":[],"getFamily":[],"getArch":[],"getOsVersion":[],"getPlatform":[],"getGitCommitHash":[],"getPackageVersion":[],"getType":[]}', 'folders':'{"fromCluster":["folder_name"],"openCluster":["folder_name"]}', 'core':'{"getDefaultUser":["fallback"],"getUser":["uuid"],"removeCluster":["id"],"launchCluster":["id","uuid","search_for_java"],"searchPackages":["provider","query"],"getPackageBody":["provider","body"],"getRunningProcessesByClusterId":["cluster_id"],"setDefaultUser":["uuid"],"getProfileOrDefault":["name"],"refreshAccount":["uuid"],"readSettings":[],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getUsersFromAuthor":["provider","author"],"removePackage":["cluster_id","package_hash"],"installModpack":["modpack","cluster_id"],"getLoadersForVersion":["mc_version"],"changeSkin":["access_token","skin_url","skin_variant"],"open":["input"],"downloadExternalPackage":["package","cluster_id","force","skip_compatibility"],"getClusterById":["id"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"getUsers":[],"fetchMinecraftProfile":["uuid"],"setClusterStage":["id","stage"],"changeCape":["access_token","cape_uuid"],"getMultiplePackages":["provider","slugs"],"isClusterRunning":["cluster_id"],"openMsaLogin":[],"getClusters":[],"getLogByName":["id","name"],"killProcess":["pid"],"getScreenshots":["id"],"getLinkedPackages":["cluster_id"],"updateClusterProfile":["name","profile"],"getPackage":["provider","slug"],"fetchLoggedInProfile":["access_token"],"removeUser":["uuid"],"getProcessLogTail":["id","max_lines"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"createCluster":["options"],"createSettingsProfile":["name"],"getRunningProcesses":[],"updateClusterById":["id","request"],"setDiscordRPCMessage":["message"],"togglePackage":["cluster_id","package_hash"],"refreshAccounts":[],"getWorlds":["id"],"writeSettings":["setting"],"getLogs":["id"],"removeCape":["access_token"],"convertUsernameUUID":["username_uuid"],"getGameVersions":[],"syncCluster":["cluster_id"],"getGlobalProfile":[]}' }
export type Router = { 'debug': { openDevTools: () => Promise<void>,
isInDev: () => Promise<boolean>,
getArch: () => Promise<string>,
getFamily: () => Promise<string>,
getLocale: () => Promise<string | null>,
getType: () => Promise<string>,
getPlatform: () => Promise<string>,
getOsVersion: () => Promise<string>,
getGitCommitHash: () => Promise<string>,
getBuildTimestamp: () => Promise<string>,
getPackageVersion: () => Promise<string> },
'events': { ingress: (event: IngressPayload) => Promise<void>,
message: (event: MessagePayload) => Promise<void>,
process: (event: ProcessPayload) => Promise<void> },
'folders': { fromCluster: (folderName: string) => Promise<string>,
openCluster: (folderName: string) => Promise<null> },
'oneclient': { getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>>,
getBundlesFor: (clusterId: number) => Promise<ModpackArchive[]>,
getVersions: () => Promise<OnlineClusterManifest>,
extractBundleOverrides: (bundlePath: string, clusterId: number) => Promise<null>,
checkForUpdate: () => Promise<Update | null>,
installUpdate: () => Promise<null>,
downloadPackageFromBundle: (package: ModpackFileKind, clusterId: number, bundleName: string, skipCompatibility: boolean | null) => Promise<PackageModel>,
updateBundlePackages: (clusterId: number) => Promise<ApplyBundleUpdatesResult>,
isBundleSyncing: () => Promise<boolean>,
cacheArt: (path: string) => Promise<string>,
refreshArt: (path: string) => Promise<null> },
'core': { getClusters: () => Promise<ClusterModel[]>,
const ARGS_MAP = { 'core':'{"getPackage":["provider","slug"],"updateClusterById":["id","request"],"setClusterStage":["id","stage"],"refreshAccount":["uuid"],"readSettings":[],"getProfileOrDefault":["name"],"getMultiplePackages":["provider","slugs"],"getProcessLogTail":["id","max_lines"],"fetchLoggedInProfile":["access_token"],"launchCluster":["id","uuid","search_for_java"],"togglePackage":["cluster_id","package_hash"],"changeCape":["access_token","cape_uuid"],"removeCape":["access_token"],"open":["input"],"getPackageBody":["provider","body"],"getClusters":[],"removePackage":["cluster_id","package_hash"],"downloadExternalPackage":["package","cluster_id","force","skip_compatibility"],"setDiscordRPCMessage":["message"],"getUsersFromAuthor":["provider","author"],"getClusterById":["id"],"getWorlds":["id"],"openMsaLogin":[],"getRunningProcesses":[],"isClusterRunning":["cluster_id"],"getGameVersions":[],"getRunningProcessesByClusterId":["cluster_id"],"killProcess":["pid"],"removeUser":["uuid"],"refreshAccounts":[],"searchPackages":["provider","query"],"getLinkedPackages":["cluster_id"],"getGlobalProfile":[],"fetchMinecraftProfile":["uuid"],"getUser":["uuid"],"installModpack":["modpack","cluster_id"],"createCluster":["options"],"changeSkin":["access_token","skin_url","skin_variant"],"getScreenshots":["id"],"getUsers":[],"convertUsernameUUID":["username_uuid"],"getLogByName":["id","name"],"createSettingsProfile":["name"],"getDefaultUser":["fallback"],"syncCluster":["cluster_id"],"updateClusterProfile":["name","profile"],"removeCluster":["id"],"writeSettings":["setting"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getLoadersForVersion":["mc_version"],"setDefaultUser":["uuid"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"getLogs":["id"]}', 'oneclient':'{"installUpdate":[],"getBundlesFor":["cluster_id"],"extractBundleOverrides":["bundle_path","cluster_id"],"updateBundlePackages":["cluster_id"],"downloadPackageFromBundle":["package","cluster_id","bundle_name","skip_compatibility"],"cacheArt":["path"],"refreshArt":["path"],"checkForUpdate":[],"getVersions":[],"getClustersGroupedByMajor":[],"isBundleSyncing":[]}', 'events':'{"process":["event"],"ingress":["event"],"message":["event"]}', 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}', 'debug':'{"getBuildTimestamp":[],"getGitCommitHash":[],"getPlatform":[],"getType":[],"getLocale":[],"openDevTools":[],"getFamily":[],"getOsVersion":[],"getPackageVersion":[],"getArch":[],"isInDev":[]}' }
export type Router = { 'core': { getClusters: () => Promise<ClusterModel[]>,
getClusterById: (id: number) => Promise<ClusterModel | null>,
removeCluster: (id: number) => Promise<null>,
createCluster: (options: CreateCluster) => Promise<ClusterModel>,
@ -394,7 +367,34 @@ changeCape: (accessToken: string, capeUuid: string) => Promise<MojangFullPlayerP
removeCape: (accessToken: string) => Promise<MojangFullPlayerProfile>,
convertUsernameUUID: (usernameUuid: string) => Promise<MowojangProfile>,
setDiscordRPCMessage: (message: string) => Promise<null>,
open: (input: string) => Promise<null> } };
open: (input: string) => Promise<null> },
'events': { ingress: (event: IngressPayload) => Promise<void>,
message: (event: MessagePayload) => Promise<void>,
process: (event: ProcessPayload) => Promise<void> },
'oneclient': { getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>>,
getBundlesFor: (clusterId: number) => Promise<ModpackArchive[]>,
getVersions: () => Promise<OnlineClusterManifest>,
extractBundleOverrides: (bundlePath: string, clusterId: number) => Promise<null>,
checkForUpdate: () => Promise<Update | null>,
installUpdate: () => Promise<null>,
downloadPackageFromBundle: (package: ModpackFileKind, clusterId: number, bundleName: string, skipCompatibility: boolean | null) => Promise<PackageModel>,
updateBundlePackages: (clusterId: number) => Promise<ApplyBundleUpdatesResult>,
isBundleSyncing: () => Promise<boolean>,
cacheArt: (path: string) => Promise<string>,
refreshArt: (path: string) => Promise<null> },
'folders': { fromCluster: (folderName: string) => Promise<string>,
openCluster: (folderName: string) => Promise<null> },
'debug': { openDevTools: () => Promise<void>,
isInDev: () => Promise<boolean>,
getArch: () => Promise<string>,
getFamily: () => Promise<string>,
getLocale: () => Promise<string | null>,
getType: () => Promise<string>,
getPlatform: () => Promise<string>,
getOsVersion: () => Promise<string>,
getGitCommitHash: () => Promise<string>,
getBuildTimestamp: () => Promise<string>,
getPackageVersion: () => Promise<string> } };
export type { InferCommandOutput }

View file

@ -2,7 +2,7 @@ import { SettingsRow, SheetPage } from '@/components';
import { useClusterProfile } from '@/hooks/useSettings';
import { Switch, TextField } from '@onelauncher/common/components';
import { createFileRoute } from '@tanstack/react-router';
import { Database01Icon, FilePlus02Icon, FileX02Icon, LayoutTopIcon, Maximize01Icon, ParagraphWrapIcon, XIcon } from '@untitled-theme/icons-react';
import { Database01Icon, FilePlus02Icon, FileX02Icon, LayoutTopIcon, Maximize01Icon, ParagraphWrapIcon, TerminalIcon, XIcon } from '@untitled-theme/icons-react';
export const Route = createFileRoute('/app/cluster/settings')({
component: RouteComponent,
@ -121,6 +121,18 @@ function RouteComponent() {
</div>
</div>
</SettingsRow>
<SettingsRow
description="Additional arguments passed to the JVM when launching the game."
icon={<TerminalIcon />}
title="JVM Arguments"
>
<TextField
onChange={e => updateProfile({ launch_args: e.currentTarget.value || null })}
placeholder="-XX:+UseG1GC -Xss1M"
value={profile.launch_args ?? ''}
/>
</SettingsRow>
</SheetPage.Content>
);
}