Refactor launcher profiles and port automation
This commit is contained in:
@@ -8,7 +8,8 @@ const { Type } = require('helios-distribution-types')
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
|
||||
const ConfigManager = require('./configmanager')
|
||||
const ConfigManager = require('./configmanager')
|
||||
const ServerRuntime = require('./serverruntime')
|
||||
|
||||
const logger = LoggerUtil.getLogger('ProcessBuilder')
|
||||
|
||||
@@ -366,11 +367,14 @@ class ProcessBuilder {
|
||||
|
||||
_processAutoConnectArg(args){
|
||||
const selectedProfileId = ConfigManager.getSelectedLibraryProfile()
|
||||
const selectedProfile = selectedProfileId != null
|
||||
? ConfigManager.getInstalledLibraryProfile(selectedProfileId)
|
||||
: null
|
||||
const quickPlayWorld = selectedProfileId != null
|
||||
? ConfigManager.getLibraryQuickPlayWorld(selectedProfileId)
|
||||
: null
|
||||
|
||||
if(quickPlayWorld){
|
||||
if(quickPlayWorld && selectedProfile?.serverEnabled !== true){
|
||||
if(mcVersionAtLeast('1.20', this.server.rawServer.minecraftVersion)){
|
||||
args.push('--quickPlaySingleplayer')
|
||||
args.push(quickPlayWorld)
|
||||
@@ -379,14 +383,25 @@ class ProcessBuilder {
|
||||
}
|
||||
|
||||
if(ConfigManager.getAutoConnect() && this.server.rawServer.autoconnect){
|
||||
const serverAddressOverride = selectedProfileId != null
|
||||
let serverAddressOverride = selectedProfileId != null
|
||||
? resolveServerAddressOverride(
|
||||
ConfigManager.getLibraryServerAddressOverride(selectedProfileId),
|
||||
this.server.port
|
||||
)
|
||||
: null
|
||||
|
||||
if(serverAddressOverride == null && selectedProfile?.serverEnabled === true){
|
||||
const hostState = ServerRuntime.getHostedProfileState(selectedProfileId)
|
||||
if(hostState.running){
|
||||
serverAddressOverride = {
|
||||
hostname: '127.0.0.1',
|
||||
port: selectedProfile.serverPort ?? this.server.port
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const hostname = serverAddressOverride?.hostname ?? this.server.hostname
|
||||
const port = serverAddressOverride?.port ?? this.server.port
|
||||
const port = serverAddressOverride?.port ?? (selectedProfile?.serverEnabled === true ? (selectedProfile.serverPort ?? this.server.port) : this.server.port)
|
||||
if(mcVersionAtLeast('1.20', this.server.rawServer.minecraftVersion)){
|
||||
args.push('--quickPlayMultiplayer')
|
||||
args.push(`${hostname}:${port}`)
|
||||
|
||||
Reference in New Issue
Block a user