icns icon no longer works as macOS platform icon (resolves #68).

This commit is contained in:
Jacquelyn 2020-06-09 01:51:56 -03:00
parent 8726638a23
commit a1cf59170d
19 changed files with 680 additions and 1872 deletions

View File

@ -1,7 +1,7 @@
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta charset="utf-8" http-equiv="Content-Security-Policy" content="script-src 'self' 'sha256-In6B8teKZQll5heMl9bS7CESTbGvuAt3VVV86BUQBDk='"/> <meta charset="utf-8" http-equiv="Content-Security-Policy" content="script-src 'self' 'sha256-In6B8teKZQll5heMl9bS7CESTbGvuAt3VVV86BUQBDk='"/>
<title>Westeroscraft Launcher</title> <title>Launcher de Etternal</title>
<script src="./assets/js/scripts/uicore.js"></script> <script src="./assets/js/scripts/uicore.js"></script>
<script src="./assets/js/scripts/uibinder.js"></script> <script src="./assets/js/scripts/uibinder.js"></script>
<link type="text/css" rel="stylesheet" href="./assets/css/launcher.css"> <link type="text/css" rel="stylesheet" href="./assets/css/launcher.css">
@ -36,12 +36,7 @@
</div> </div>
<% include overlay.ejs %> <% include overlay.ejs %>
<div id="loadingContainer"> <div id="loadingContainer">
<div id="loadingContent"> <div class="loading-pulse"></div>
<div id="loadSpinnerContainer">
<img id="loadCenterImage" src="assets/images/LoadingSeal.png">
<img id="loadSpinnerImage" class="rotating" src="assets/images/LoadingText.png">
</div>
</div>
</div> </div>
<script> <script>
// Load language // Load language

View File

@ -3775,3 +3775,52 @@ input:checked + .toggleSwitchSlider:before {
.rotating { .rotating {
animation: rotating 10s linear infinite; animation: rotating 10s linear infinite;
} }
/* Loading Etternal */
/* Original from https://codepen.io/alanshortis/pen/eJLVXr */
@-webkit-keyframes pulse {
50% {
background: white;
}
}
@keyframes pulse {
50% {
background: white;
}
}
html, body {
height: 100%;
}
.loading-pulse {
position: relative;
width: 6px;
height: 24px;
background: rgba(255, 255, 255, 0.2);
-webkit-animation: pulse 750ms infinite;
animation: pulse 750ms infinite;
-webkit-animation-delay: 250ms;
animation-delay: 250ms;
}
.loading-pulse:before, .loading-pulse:after {
content: '';
position: absolute;
display: block;
height: 16px;
width: 6px;
background: rgba(255, 255, 255, 0.2);
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
-webkit-animation: pulse 750ms infinite;
animation: pulse 750ms infinite;
}
.loading-pulse:before {
left: -12px;
}
.loading-pulse:after {
left: 12px;
-webkit-animation-delay: 500ms;
animation-delay: 500ms;
}

File diff suppressed because it is too large Load Diff

View File

@ -166,6 +166,31 @@ class Util {
return true return true
} }
static isForgeGradle3(mcVersion, forgeVersion) {
if(Util.mcVersionAtLeast('1.13', mcVersion)) {
return true
}
let forgeVer = null
try {
forgeVer = forgeVersion.split('-')[1]
} catch(err) {
throw new Error('Forge version is complex (changed).. launcher requires a patch.')
}
const maxFG2 = [14, 23, 5, 2847]
const verSplit = forgeVer.split('.').map(v => Number(v))
for(let i=0; i<maxFG2.length; i++) {
if(verSplit[i] > maxFG2[i]) {
return true
}
}
return false
}
} }
@ -1446,7 +1471,7 @@ class AssetGuard extends EventEmitter {
for(let ob of modules){ for(let ob of modules){
const type = ob.getType() const type = ob.getType()
if(type === DistroManager.Types.ForgeHosted || type === DistroManager.Types.Forge){ if(type === DistroManager.Types.ForgeHosted || type === DistroManager.Types.Forge){
if(Util.mcVersionAtLeast('1.13', server.getMinecraftVersion())){ if(Util.isForgeGradle3(server.getMinecraftVersion(), ob.getVersion())){
// Read Manifest // Read Manifest
for(let sub of ob.getSubModules()){ for(let sub of ob.getSubModules()){
if(sub.getType() === DistroManager.Types.VersionManifest){ if(sub.getType() === DistroManager.Types.VersionManifest){

View File

@ -6,7 +6,7 @@ const logger = require('./loggerutil')('%c[ConfigManager]', 'color: #a02d2a; fon
const sysRoot = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME) const sysRoot = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME)
// TODO change // TODO change
const dataPath = path.join(sysRoot, '.westeroscraft') const dataPath = path.join(sysRoot, '.etternal')
// Forked processes do not have access to electron, so we have this workaround. // Forked processes do not have access to electron, so we have this workaround.
const launcherDir = process.env.CONFIG_DIRECT_PATH || require('electron').remote.app.getPath('userData') const launcherDir = process.env.CONFIG_DIRECT_PATH || require('electron').remote.app.getPath('userData')

View File

@ -537,7 +537,7 @@ exports.pullRemote = function(){
return exports.pullLocal() return exports.pullLocal()
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const distroURL = 'http://mc.westeroscraft.com/WesterosCraftLauncher/distribution.json' const distroURL = 'https://etternal.red/gamefiles/distribution.json'
//const distroURL = 'https://gist.githubusercontent.com/dscalzi/53b1ba7a11d26a5c353f9d5ae484b71b/raw/' //const distroURL = 'https://gist.githubusercontent.com/dscalzi/53b1ba7a11d26a5c353f9d5ae484b71b/raw/'
const opts = { const opts = {
url: distroURL, url: distroURL,

View File

@ -7,51 +7,33 @@
*/ */
// Requirements // Requirements
const request = require('request') const request = require('request')
const logger = require('./loggerutil')('%c[Mojang]', 'color: #a02d2a; font-weight: bold') const logger = require('./loggerutil')('%c[Etternal]', 'color: #a02d2a; font-weight: bold')
// Constants // Constants
const minecraftAgent = { const minecraftAgent = {
name: 'Minecraft', name: 'Minecraft',
version: 1 version: 1
} }
const authpath = 'https://authserver.mojang.com' const authpath = 'https://cuenta.etternal.red/api/yggdrasil/authserver'
const statuses = [ const statuses = [
{ {
service: 'sessionserver.mojang.com', service: 'mc.etternal.red',
status: 'grey', status: 'grey',
name: 'Multiplayer Session Service', name: 'Servidor',
essential: true
},
{
service: 'authserver.mojang.com',
status: 'grey',
name: 'Authentication Service',
essential: true
},
{
service: 'textures.minecraft.net',
status: 'grey',
name: 'Minecraft Skins',
essential: false essential: false
}, },
{ {
service: 'api.mojang.com', service: 'cuenta.etternal.red/api/yggdrasil/sessionserver',
status: 'grey', status: 'grey',
name: 'Public API', name: 'Servicio de Sesión',
essential: false essential: false
}, },
{ {
service: 'minecraft.net', service: 'cuenta.etternal.red/api/yggdrasil/authserver',
status: 'grey', status: 'grey',
name: 'Minecraft.net', name: 'Servicio de Autentificación',
essential: false essential: false
}, },
{
service: 'account.mojang.com',
status: 'grey',
name: 'Mojang Accounts Website',
essential: false
}
] ]
// Functions // Functions
@ -88,7 +70,7 @@ exports.statusToHex = function(status){
*/ */
exports.status = function(){ exports.status = function(){
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
request.get('https://status.mojang.com/check', request.get('https://etternal.red/gamefiles/status.json',
{ {
json: true, json: true,
timeout: 2500 timeout: 2500

View File

@ -299,6 +299,7 @@ class ProcessBuilder {
let args = [] let args = []
// Classpath Argument // Classpath Argument
args.push('-cp') args.push('-cp')
args.push(this.classpathArg(mods, tempNativePath).join(process.platform === 'win32' ? ';' : ':')) args.push(this.classpathArg(mods, tempNativePath).join(process.platform === 'win32' ? ';' : ':'))
@ -339,6 +340,7 @@ class ProcessBuilder {
// JVM Arguments First // JVM Arguments First
let args = this.versionData.arguments.jvm let args = this.versionData.arguments.jvm
args.push('-javaagent:patcher-1.jar=cuenta.etternal.red')
//args.push('-Dlog4j.configurationFile=D:\\WesterosCraft\\game\\common\\assets\\log_configs\\client-1.12.xml') //args.push('-Dlog4j.configurationFile=D:\\WesterosCraft\\game\\common\\assets\\log_configs\\client-1.12.xml')
// Java Arguments // Java Arguments

View File

@ -322,13 +322,13 @@ function asyncSystemScan(mcVersion, launchAfter = true){
// If the result is null, no valid Java installation was found. // If the result is null, no valid Java installation was found.
// Show this information to the user. // Show this information to the user.
setOverlayContent( setOverlayContent(
'No Compatible<br>Java Installation Found', 'Ninguna versión de Java compatible',
'In order to join WesterosCraft, you need a 64-bit installation of Java 8. Would you like us to install a copy? By installing, you accept <a href="http://www.oracle.com/technetwork/java/javase/terms/license/index.html">Oracle\'s license agreement</a>.', 'Para jugar en el servidor de Etternal, necesitas una instalación de Java 8 de 64-bit. Si aceptas instalarlas, estás aceptando los <a href="http://www.oracle.com/technetwork/java/javase/terms/license/index.html">terminos de condiciones de Oracle</a>.',
'Install Java', 'Instalar Java',
'Install Manually' 'Instalar manualmente'
) )
setOverlayHandler(() => { setOverlayHandler(() => {
setLaunchDetails('Preparing Java Download..') setLaunchDetails('Preparando la descarga de Java..')
sysAEx.send({task: 'changeContext', class: 'AssetGuard', args: [ConfigManager.getCommonDirectory(),ConfigManager.getJavaExecutable()]}) sysAEx.send({task: 'changeContext', class: 'AssetGuard', args: [ConfigManager.getCommonDirectory(),ConfigManager.getJavaExecutable()]})
sysAEx.send({task: 'execute', function: '_enqueueOpenJDK', argsArr: [ConfigManager.getDataDirectory()]}) sysAEx.send({task: 'execute', function: '_enqueueOpenJDK', argsArr: [ConfigManager.getDataDirectory()]})
toggleOverlay(false) toggleOverlay(false)
@ -455,7 +455,7 @@ function asyncSystemScan(mcVersion, launchAfter = true){
}) })
// Begin system Java scan. // Begin system Java scan.
setLaunchDetails('Checking system info..') setLaunchDetails('Chequeando la información del sistema..')
sysAEx.send({task: 'execute', function: 'validateJava', argsArr: [ConfigManager.getDataDirectory()]}) sysAEx.send({task: 'execute', function: 'validateJava', argsArr: [ConfigManager.getDataDirectory()]})
} }
@ -483,7 +483,7 @@ function dlAsync(login = true){
if(login) { if(login) {
if(ConfigManager.getSelectedAccount() == null){ if(ConfigManager.getSelectedAccount() == null){
loggerLanding.error('You must be logged into an account.') loggerLanding.error('Tienes que estar en una cuenta primero.')
return return
} }
} }
@ -536,27 +536,27 @@ function dlAsync(login = true){
case 'distribution': case 'distribution':
setLaunchPercentage(20, 100) setLaunchPercentage(20, 100)
loggerLaunchSuite.log('Validated distibution index.') loggerLaunchSuite.log('Validated distibution index.')
setLaunchDetails('Loading version information..') setLaunchDetails('Viendo información de la versión..')
break break
case 'version': case 'version':
setLaunchPercentage(40, 100) setLaunchPercentage(40, 100)
loggerLaunchSuite.log('Version data loaded.') loggerLaunchSuite.log('Version data loaded.')
setLaunchDetails('Validating asset integrity..') setLaunchDetails('Validando los archivos locales..')
break break
case 'assets': case 'assets':
setLaunchPercentage(60, 100) setLaunchPercentage(60, 100)
loggerLaunchSuite.log('Asset Validation Complete') loggerLaunchSuite.log('Asset Validation Complete')
setLaunchDetails('Validating library integrity..') setLaunchDetails('Validando las librerías locales..')
break break
case 'libraries': case 'libraries':
setLaunchPercentage(80, 100) setLaunchPercentage(80, 100)
loggerLaunchSuite.log('Library validation complete.') loggerLaunchSuite.log('Library validation complete.')
setLaunchDetails('Validating miscellaneous file integrity..') setLaunchDetails('Validando otros archivos..')
break break
case 'files': case 'files':
setLaunchPercentage(100, 100) setLaunchPercentage(100, 100)
loggerLaunchSuite.log('File validation complete.') loggerLaunchSuite.log('File validation complete.')
setLaunchDetails('Downloading files..') setLaunchDetails('Descargando archivos..')
break break
} }
} else if(m.context === 'progress'){ } else if(m.context === 'progress'){
@ -598,7 +598,7 @@ function dlAsync(login = true){
progressListener = null progressListener = null
} }
setLaunchDetails('Preparing to launch..') setLaunchDetails('Preparando el juego..')
break break
} }
} else if(m.context === 'error'){ } else if(m.context === 'error'){
@ -608,13 +608,13 @@ function dlAsync(login = true){
if(m.error.code === 'ENOENT'){ if(m.error.code === 'ENOENT'){
showLaunchFailure( showLaunchFailure(
'Download Error', 'Error de descarga',
'Could not connect to the file server. Ensure that you are connected to the internet and try again.' 'No se puede conectar con el servidor. Revisa tu conexión a internet y vuelvelo a intentar.'
) )
} else { } else {
showLaunchFailure( showLaunchFailure(
'Download Error', 'Error de descarga',
'Check the console (CTRL + Shift + i) for more details. Please try again.' 'Abre la consola (CTRL + Shift + i) y reporta el problema.'
) )
} }
@ -645,7 +645,7 @@ function dlAsync(login = true){
const authUser = ConfigManager.getSelectedAccount() const authUser = ConfigManager.getSelectedAccount()
loggerLaunchSuite.log(`Sending selected account (${authUser.displayName}) to ProcessBuilder.`) loggerLaunchSuite.log(`Sending selected account (${authUser.displayName}) to ProcessBuilder.`)
let pb = new ProcessBuilder(serv, versionData, forgeData, authUser, remote.app.getVersion()) let pb = new ProcessBuilder(serv, versionData, forgeData, authUser, remote.app.getVersion())
setLaunchDetails('Launching game..') setLaunchDetails('Iniciando el juego..')
// Attach a temporary listener to the client output. // Attach a temporary listener to the client output.
// Will wait for a certain bit of text meaning that // Will wait for a certain bit of text meaning that
@ -689,7 +689,7 @@ function dlAsync(login = true){
proc.stdout.on('data', tempListener) proc.stdout.on('data', tempListener)
proc.stderr.on('data', gameErrorListener) proc.stderr.on('data', gameErrorListener)
setLaunchDetails('Done. Enjoy the server!') setLaunchDetails('¡Disfruta del servidor!')
// Init Discord Hook // Init Discord Hook
const distro = DistroManager.getDistribution() const distro = DistroManager.getDistribution()

View File

@ -1196,11 +1196,11 @@ function isPrerelease(version){
function populateVersionInformation(version, valueElement, titleElement, checkElement){ function populateVersionInformation(version, valueElement, titleElement, checkElement){
valueElement.innerHTML = version valueElement.innerHTML = version
if(isPrerelease(version)){ if(isPrerelease(version)){
titleElement.innerHTML = 'Pre-release' titleElement.innerHTML = 'Pre-Lanzamiento'
titleElement.style.color = '#ff886d' titleElement.style.color = '#ff886d'
checkElement.style.background = '#ff886d' checkElement.style.background = '#ff886d'
} else { } else {
titleElement.innerHTML = 'Stable Release' titleElement.innerHTML = 'Versión Estable'
titleElement.style.color = null titleElement.style.color = null
checkElement.style.background = null checkElement.style.background = null
} }

View File

@ -1,6 +1,6 @@
{ {
"html": { "html": {
"avatarOverlay": "Edit" "avatarOverlay": "Editar"
}, },
"js": { "js": {
"login": { "login": {

View File

@ -13,7 +13,7 @@
<% } else{ %> <% } else{ %>
<div id="frameContentWin"> <div id="frameContentWin">
<div id="frameTitleDock"> <div id="frameTitleDock">
<span id="frameTitleText">Helios Launcher</span> <span id="frameTitleText">Launcher de Etternal</span>
</div> </div>
<div id="frameButtonDockWin"> <div id="frameButtonDockWin">
<button class="frameButton fMb" id="frameButton_minimize" tabIndex="-1"> <button class="frameButton fMb" id="frameButton_minimize" tabIndex="-1">

View File

@ -1,19 +1,15 @@
<div id="landingContainer" style="display: none;"> <div id="landingContainer" style="display: none;">
<div id="upper"> <div id="upper">
<div id="left"> <div id="left">
<div id="image_seal_container">
<img id="image_seal" src="assets/images/SealCircle.png"/>
<div id="updateAvailableTooltip">Update Available</div>
</div>
</div> </div>
<div id="content"> <div id="content">
</div> </div>
<div id="right"> <div id="right">
<div id="rightContainer"> <div id="rightContainer">
<div id="user_content"> <div id="user_content">
<span id="user_text">Username</span> <span id="user_text">Usuario</span>
<div id="avatarContainer"> <div id="avatarContainer">
<button id="avatarOverlay">Edit</button> <button id="avatarOverlay">Editar</button>
</div> </div>
</div> </div>
<div id="mediaContent"> <div id="mediaContent">
@ -23,70 +19,10 @@
<svg id="settingsSVG" class="mediaSVG" viewBox="0 0 141.36 137.43"> <svg id="settingsSVG" class="mediaSVG" viewBox="0 0 141.36 137.43">
<path d="M70.70475616319865,83.36934004916053 a15.320781354859122,15.320781354859122 0 1 1 14.454501310561755,-15.296030496450625 A14.850515045097694,14.850515045097694 0 0 1 70.70475616319865,83.36934004916053 M123.25082856443602,55.425620905968366 h-12.375429204248078 A45.54157947163293,45.54157947163293 0 0 0 107.21227231573047,46.243052436416285 l8.613298726156664,-9.108315894326587 a9.727087354538993,9.727087354538993 0 0 0 0,-13.167456673319956 l-3.465120177189462,-3.6631270444574313 a8.489544434114185,8.489544434114185 0 0 0 -12.375429204248078,0 l-8.613298726156664,9.108315894326587 A40.442902639482725,40.442902639482725 0 0 0 81.99114759747292,25.427580514871032 V12.532383284044531 a9.108315894326587,9.108315894326587 0 0 0 -8.811305593424633,-9.306322761594556 h-4.950171681699231 a9.108315894326587,9.108315894326587 0 0 0 -8.811305593424633,9.306322761594556 v12.895197230826497 a40.17064319698927,40.17064319698927 0 0 0 -9.331073620003052,4.0591407789933704 l-8.613298726156664,-9.108315894326587 a8.489544434114185,8.489544434114185 0 0 0 -12.375429204248078,0 L25.58394128451018,23.967279868769744 a9.727087354538993,9.727087354538993 0 0 0 0,13.167456673319956 L34.19724001066683,46.243052436416285 a45.07131316187151,45.07131316187151 0 0 0 -3.6631270444574313,9.083565035918088 h-12.375429204248078 a9.083565035918088,9.083565035918088 0 0 0 -8.811305593424633,9.306322761594556 v5.197680265784193 a9.108315894326587,9.108315894326587 0 0 0 8.811305593424633,9.306322761594556 h11.979415469712139 a45.69008462208391,45.69008462208391 0 0 0 4.0591407789933704,10.642869115653347 l-8.613298726156664,9.108315894326587 a9.727087354538993,9.727087354538993 0 0 0 0,13.167456673319956 l3.465120177189462,3.6631270444574313 a8.489544434114185,8.489544434114185 0 0 0 12.375429204248078,0 l8.613298726156664,-9.108315894326587 a40.49240435629971,40.49240435629971 0 0 0 9.331073620003052,4.0591407789933704 v12.895197230826497 a9.083565035918088,9.083565035918088 0 0 0 8.811305593424633,9.306322761594556 h4.950171681699231 A9.083565035918088,9.083565035918088 0 0 0 81.99114759747292,123.68848839660077 V110.79329116577425 a40.78941465720167,40.78941465720167 0 0 0 9.331073620003052,-4.0591407789933704 l8.613298726156664,9.108315894326587 a8.489544434114185,8.489544434114185 0 0 0 12.375429204248078,0 l3.465120177189462,-3.6631270444574313 a9.727087354538993,9.727087354538993 0 0 0 0,-13.167456673319956 l-8.613298726156664,-9.108315894326587 a45.665333763675406,45.665333763675406 0 0 0 4.034389920584874,-10.642869115653347 h12.004166328120636 a9.108315894326587,9.108315894326587 0 0 0 8.811305593424633,-9.306322761594556 v-5.197680265784193 a9.083565035918088,9.083565035918088 0 0 0 -8.811305593424633,-9.306322761594556 " id="svg_3" class=""/> <path d="M70.70475616319865,83.36934004916053 a15.320781354859122,15.320781354859122 0 1 1 14.454501310561755,-15.296030496450625 A14.850515045097694,14.850515045097694 0 0 1 70.70475616319865,83.36934004916053 M123.25082856443602,55.425620905968366 h-12.375429204248078 A45.54157947163293,45.54157947163293 0 0 0 107.21227231573047,46.243052436416285 l8.613298726156664,-9.108315894326587 a9.727087354538993,9.727087354538993 0 0 0 0,-13.167456673319956 l-3.465120177189462,-3.6631270444574313 a8.489544434114185,8.489544434114185 0 0 0 -12.375429204248078,0 l-8.613298726156664,9.108315894326587 A40.442902639482725,40.442902639482725 0 0 0 81.99114759747292,25.427580514871032 V12.532383284044531 a9.108315894326587,9.108315894326587 0 0 0 -8.811305593424633,-9.306322761594556 h-4.950171681699231 a9.108315894326587,9.108315894326587 0 0 0 -8.811305593424633,9.306322761594556 v12.895197230826497 a40.17064319698927,40.17064319698927 0 0 0 -9.331073620003052,4.0591407789933704 l-8.613298726156664,-9.108315894326587 a8.489544434114185,8.489544434114185 0 0 0 -12.375429204248078,0 L25.58394128451018,23.967279868769744 a9.727087354538993,9.727087354538993 0 0 0 0,13.167456673319956 L34.19724001066683,46.243052436416285 a45.07131316187151,45.07131316187151 0 0 0 -3.6631270444574313,9.083565035918088 h-12.375429204248078 a9.083565035918088,9.083565035918088 0 0 0 -8.811305593424633,9.306322761594556 v5.197680265784193 a9.108315894326587,9.108315894326587 0 0 0 8.811305593424633,9.306322761594556 h11.979415469712139 a45.69008462208391,45.69008462208391 0 0 0 4.0591407789933704,10.642869115653347 l-8.613298726156664,9.108315894326587 a9.727087354538993,9.727087354538993 0 0 0 0,13.167456673319956 l3.465120177189462,3.6631270444574313 a8.489544434114185,8.489544434114185 0 0 0 12.375429204248078,0 l8.613298726156664,-9.108315894326587 a40.49240435629971,40.49240435629971 0 0 0 9.331073620003052,4.0591407789933704 v12.895197230826497 a9.083565035918088,9.083565035918088 0 0 0 8.811305593424633,9.306322761594556 h4.950171681699231 A9.083565035918088,9.083565035918088 0 0 0 81.99114759747292,123.68848839660077 V110.79329116577425 a40.78941465720167,40.78941465720167 0 0 0 9.331073620003052,-4.0591407789933704 l8.613298726156664,9.108315894326587 a8.489544434114185,8.489544434114185 0 0 0 12.375429204248078,0 l3.465120177189462,-3.6631270444574313 a9.727087354538993,9.727087354538993 0 0 0 0,-13.167456673319956 l-8.613298726156664,-9.108315894326587 a45.665333763675406,45.665333763675406 0 0 0 4.034389920584874,-10.642869115653347 h12.004166328120636 a9.108315894326587,9.108315894326587 0 0 0 8.811305593424633,-9.306322761594556 v-5.197680265784193 a9.083565035918088,9.083565035918088 0 0 0 -8.811305593424633,-9.306322761594556 " id="svg_3" class=""/>
</svg> </svg>
<div id="settingsTooltip">Settings</div> <div id="settingsTooltip">Ajustes</div>
</button> </button>
</div> </div>
</div> </div>
<div class="mediaDivider"></div>
<div id="externalMedia">
<div class="mediaContainer">
<a href="https://github.com/dscalZi/HeliosLauncher" class="mediaURL" id="linkURL">
<svg id="linkSVG" class="mediaSVG" viewBox="35.34 34.3575 70.68 68.71500">
<g>
<path d="M75.37,65.51a3.85,3.85,0,0,0-1.73.42,8.22,8.22,0,0,1,.94,3.76A8.36,8.36,0,0,1,66.23,78H46.37a8.35,8.35,0,1,1,0-16.7h9.18a21.51,21.51,0,0,1,6.65-8.72H46.37a17.07,17.07,0,1,0,0,34.15H66.23A17,17,0,0,0,82.77,65.51Z"/>
<path d="M66,73.88a3.85,3.85,0,0,0,1.73-.42,8.22,8.22,0,0,1-.94-3.76,8.36,8.36,0,0,1,8.35-8.35H95A8.35,8.35,0,1,1,95,78H85.8a21.51,21.51,0,0,1-6.65,8.72H95a17.07,17.07,0,0,0,0-34.15H75.13A17,17,0,0,0,58.59,73.88Z"/>
</g>
</svg>
</a>
</div>
<div class="mediaContainer">
<a href="#" class="mediaURL" id="twitterURL" disabled>
<svg id="twitterSVG" class="mediaSVG" viewBox="0 0 5000 4060" preserveAspectRatio="xMidYMid meet">
<g>
<path d="M1210 4048 c-350 -30 -780 -175 -1124 -378 -56 -33 -86 -57 -86 -68 0 -16 7 -17 83 -9 114 12 349 1 493 -22 295 -49 620 -180 843 -341 l54 -38 -49 -7 c-367 -49 -660 -256 -821 -582 -30 -61 -53 -120 -51 -130 3 -16 12 -17 73 -13 97 7 199 5 270 -4 l60 -9 -65 -22 c-341 -117 -609 -419 -681 -769 -18 -88 -26 -226 -13 -239 4 -3 32 7 63 22 68 35 198 77 266 86 28 4 58 9 68 12 10 2 -22 -34 -72 -82 -240 -232 -353 -532 -321 -852 15 -149 79 -347 133 -418 16 -20 17 -19 49 20 377 455 913 795 1491 945 160 41 346 74 485 86 l82 7 -7 -59 c-5 -33 -7 -117 -6 -189 2 -163 31 -286 103 -430 141 -285 422 -504 708 -550 112 -19 333 -19 442 0 180 30 335 108 477 239 l58 54 95 -24 c143 -36 286 -89 427 -160 70 -35 131 -60 135 -56 19 19 -74 209 -151 312 -50 66 -161 178 -216 217 l-30 22 73 -14 c111 -21 257 -63 353 -101 99 -39 99 -39 99 -19 0 57 -237 326 -412 468 l-88 71 6 51 c4 28 1 130 -5 226 -30 440 -131 806 -333 1202 -380 745 -1036 1277 -1823 1477 -243 62 -430 81 -786 78 -134 0 -291 -5 -349 -10z"/>
</g>
</svg>
</a>
</div>
<div class="mediaContainer">
<a href="#" class="mediaURL" id="instagramURL" disabled>
<svg id="instagramSVG" class="mediaSVG" viewBox="0 0 5040 5040">
<defs>
<radialGradient id="instaFill" cx="30%" cy="107%" r="150%">
<stop offset="0%" stop-color="#fdf497"/>
<stop offset="5%" stop-color="#fdf497"/>
<stop offset="45%" stop-color="#fd5949"/>
<stop offset="60%" stop-color="#d6249f"/>
<stop offset="90%" stop-color="#285AEB"/>
</radialGradient>
</defs>
<g>
<path d="M1390 5024 c-163 -9 -239 -19 -315 -38 -281 -70 -477 -177 -660 -361 -184 -184 -292 -380 -361 -660 -43 -171 -53 -456 -53 -1445 0 -989 10 -1274 53 -1445 69 -280 177 -476 361 -660 184 -184 380 -292 660 -361 171 -43 456 -53 1445 -53 989 0 1274 10 1445 53 280 69 476 177 660 361 184 184 292 380 361 660 43 171 53 456 53 1445 0 989 -10 1274 -53 1445 -69 280 -177 476 -361 660 -184 184 -380 292 -660 361 -174 44 -454 53 -1470 52 -599 0 -960 -5 -1105 -14z m2230 -473 c58 -6 141 -18 185 -27 397 -78 638 -318 719 -714 37 -183 41 -309 41 -1290 0 -981 -4 -1107 -41 -1290 -81 -395 -319 -633 -714 -714 -183 -37 -309 -41 -1290 -41 -981 0 -1107 4 -1290 41 -397 81 -636 322 -714 719 -33 166 -38 296 -43 1100 -5 796 3 1203 27 1380 67 489 338 758 830 825 47 7 162 15 255 20 250 12 1907 4 2035 -9z"/>
<path d="M2355 3819 c-307 -42 -561 -172 -780 -400 -244 -253 -359 -543 -359 -899 0 -361 116 -648 367 -907 262 -269 563 -397 937 -397 374 0 675 128 937 397 251 259 367 546 367 907 0 361 -116 648 -367 907 -197 203 -422 326 -690 378 -101 20 -317 27 -412 14z m400 -509 c275 -88 470 -284 557 -560 20 -65 23 -95 23 -230 0 -135 -3 -165 -23 -230 -88 -278 -284 -474 -562 -562 -65 -20 -95 -23 -230 -23 -135 0 -165 3 -230 23 -278 88 -474 284 -562 562 -20 65 -23 95 -23 230 0 135 3 165 23 230 73 230 219 403 427 507 134 67 212 83 390 79 111 -3 155 -8 210 -26z"/>
<path d="M3750 1473 c-29 -11 -66 -38 -106 -77 -70 -71 -94 -126 -94 -221 0 -95 24 -150 94 -221 72 -71 126 -94 225 -94 168 0 311 143 311 311 0 99 -23 154 -94 225 -43 42 -76 66 -110 77 -61 21 -166 21 -226 0z"/>
</g>
</svg>
</a>
</div>
<div class="mediaContainer">
<a href="#" class="mediaURL" id="youtubeURL" disabled>
<svg id="youtubeSVG" class="mediaSVG" viewBox="35.34 34.3575 70.68 68.71500">
<g>
<path d="M84.8,69.52,65.88,79.76V59.27Zm23.65.59c0-5.14-.79-17.63-3.94-20.57S99,45.86,73.37,45.86s-28,.73-31.14,3.68S38.29,65,38.29,70.11s.79,17.63,3.94,20.57,5.52,3.68,31.14,3.68,28-.74,31.14-3.68,3.94-15.42,3.94-20.57"/>
</g>
</svg>
</a>
</div>
<div class="mediaContainer">
<a href="https://discord.gg/zNWUXdt" class="mediaURL" id="discordURL">
<svg id="discordSVG" class="mediaSVG" viewBox="35.34 34.3575 70.68 68.71500">
<g>
<path d="M81.23,78.48a6.14,6.14,0,1,1,6.14-6.14,6.14,6.14,0,0,1-6.14,6.14M60,78.48a6.14,6.14,0,1,1,6.14-6.14A6.14,6.14,0,0,1,60,78.48M104.41,73c-.92-7.7-8.24-22.9-8.24-22.9A43,43,0,0,0,88,45.59a17.88,17.88,0,0,0-8.38-1.27l-.13,1.06a23.52,23.52,0,0,1,5.8,1.95,87.59,87.59,0,0,1,8.17,4.87s-10.32-5.63-22.27-5.63a51.32,51.32,0,0,0-23.2,5.63,87.84,87.84,0,0,1,8.17-4.87,23.57,23.57,0,0,1,5.8-1.95l-.13-1.06a17.88,17.88,0,0,0-8.38,1.27,42.84,42.84,0,0,0-8.21,4.56S37.87,65.35,37,73s-.37,11.54-.37,11.54,4.22,5.68,9.9,7.14,7.7,1.47,7.7,1.47l3.75-4.68a21.22,21.22,0,0,1-4.65-2A24.47,24.47,0,0,1,47.93,82S61.16,88.4,70.68,88.4c10,0,22.75-6.44,22.75-6.44a24.56,24.56,0,0,1-5.35,4.56,21.22,21.22,0,0,1-4.65,2l3.75,4.68s2,0,7.7-1.47,9.89-7.14,9.89-7.14.55-3.85-.37-11.54"/>
</g>
</svg>
</a>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -96,23 +32,15 @@
<div class="bot_wrapper"> <div class="bot_wrapper">
<div id="content"> <div id="content">
<div id="server_status_wrapper"> <div id="server_status_wrapper">
<span class="bot_label" id="landingPlayerLabel">SERVER</span> <span class="bot_label" id="landingPlayerLabel">SERVIDOR</span>
<span id="player_count">OFFLINE</span> <span id="player_count">OFFLINE</span>
</div> </div>
<div class="bot_divider"></div> <div class="bot_divider"></div>
<div id="mojangStatusWrapper"> <div id="mojangStatusWrapper">
<span class="bot_label">MOJANG STATUS</span> <span class="bot_label">ESTADO DEL SERVIDOR</span>
<span id="mojang_status_icon">&#8226;</span> <span id="mojang_status_icon">&#8226;</span>
<div id="mojangStatusTooltip"> <div id="mojangStatusTooltip">
<div id="mojangStatusTooltipTitle">Services</div> <div id="mojangStatusTooltipTitle">Servicios</div>
<div id="mojangStatusEssentialContainer">
<!-- Essential Mojang services are populated here. -->
</div>
<div id="mojangStatusNEContainer">
<div class="mojangStatusNEBar"></div>
<div id="mojangStatusNETitle">Non&nbsp;Essential</div>
<div class="mojangStatusNEBar"></div>
</div>
<div id="mojangStatusNonEssentialContainer"> <div id="mojangStatusNonEssentialContainer">
<!-- Non Essential Mojang services are populated here. --> <!-- Non Essential Mojang services are populated here. -->
</div> </div>
@ -133,7 +61,7 @@
</defs> </defs>
<polyline class="arrowLine" points="0.71 13.26 12.56 1.41 24.16 13.02"/> <polyline class="arrowLine" points="0.71 13.26 12.56 1.41 24.16 13.02"/>
</svg> </svg>
&#10;<span id="newsButtonText">NEWS</span> &#10;<span id="newsButtonText">NOTICIAS</span>
</button> </button>
</div> </div>
</div> </div>
@ -141,9 +69,9 @@
<div id="right"> <div id="right">
<div class="bot_wrapper"> <div class="bot_wrapper">
<div id="launch_content"> <div id="launch_content">
<button id="launch_button">PLAY</button> <button id="launch_button">JUGAR</button>
<div class="bot_divider"></div> <div class="bot_divider"></div>
<button id="server_selection_button" class="bot_label">&#8226; No Server Selected</button> <button id="server_selection_button" class="bot_label">&#8226; Ningún servidor seleccionado</button>
</div> </div>
<div id="launch_details"> <div id="launch_details">
<div id="launch_details_left"> <div id="launch_details_left">
@ -152,7 +80,7 @@
</div> </div>
<div id="launch_details_right"> <div id="launch_details_right">
<progress id="launch_progress" value="22" max="100"></progress> <progress id="launch_progress" value="22" max="100"></progress>
<span id="launch_details_text" class="bot_label">Please wait..</span> <span id="launch_details_text" class="bot_label">Espera..</span>
</div> </div>
</div> </div>
</div> </div>
@ -205,14 +133,14 @@
</div> </div>
<div id="newsErrorContainer"> <div id="newsErrorContainer">
<div id="newsErrorLoading"> <div id="newsErrorLoading">
<span id="nELoadSpan" class="newsErrorContent">Checking for News..</span> <span id="nELoadSpan" class="newsErrorContent">Cargando las noticias...</span>
</div> </div>
<div id="newsErrorFailed" style="display: none;"> <div id="newsErrorFailed" style="display: none;">
<span id="nEFailedSpan" class="newsErrorContent">Failed to Load News</span> <span id="nEFailedSpan" class="newsErrorContent">Error al cargar las noticias.</span>
<button id="newsErrorRetry">Try Again</button> <button id="newsErrorRetry">Try Again</button>
</div> </div>
<div id="newsErrorNone" style="display: none;"> <div id="newsErrorNone" style="display: none;">
<span id="nENoneSpan" class="newsErrorContent">No News</span> <span id="nENoneSpan" class="newsErrorContent">No hay noticias</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -2,20 +2,20 @@
<div id="loginCancelContainer" style="display: none;"> <div id="loginCancelContainer" style="display: none;">
<button id="loginCancelButton"> <button id="loginCancelButton">
<div id="loginCancelIcon">X</div> <div id="loginCancelIcon">X</div>
<span id="loginCancelText">Cancel</span> <span id="loginCancelText">Cancelar</span>
</button> </button>
</div> </div>
<div id="loginContent"> <div id="loginContent">
<form id="loginForm"> <form id="loginForm">
<img id="loginImageSeal" src="assets/images/SealCircle.png"/> <img id="loginImageSeal" src="assets/images/SealCircle.png"/>
<span id="loginSubheader">MINECRAFT LOGIN</span> <span id="loginSubheader">INGRESO CON CUENTA ETTERNAL</span>
<div class="loginFieldContainer"> <div class="loginFieldContainer">
<svg id="profileSVG" class="loginSVG" viewBox="40 37 65.36 61.43"> <svg id="profileSVG" class="loginSVG" viewBox="40 37 65.36 61.43">
<g> <g>
<path d="M86.77,58.12A13.79,13.79,0,1,0,73,71.91,13.79,13.79,0,0,0,86.77,58.12M97,103.67a3.41,3.41,0,0,0,3.39-3.84,27.57,27.57,0,0,0-54.61,0,3.41,3.41,0,0,0,3.39,3.84Z"/> <path d="M86.77,58.12A13.79,13.79,0,1,0,73,71.91,13.79,13.79,0,0,0,86.77,58.12M97,103.67a3.41,3.41,0,0,0,3.39-3.84,27.57,27.57,0,0,0-54.61,0,3.41,3.41,0,0,0,3.39,3.84Z"/>
</g> </g>
</svg> </svg>
<span class="loginErrorSpan" id="loginEmailError">* Invalid Value</span> <span class="loginErrorSpan" id="loginEmailError">* Valor Invalido</span>
<input id="loginUsername" class="loginField" type="text" placeholder="EMAIL OR USERNAME"/> <input id="loginUsername" class="loginField" type="text" placeholder="EMAIL OR USERNAME"/>
</div> </div>
<div class="loginFieldContainer"> <div class="loginFieldContainer">
@ -24,16 +24,16 @@
<path d="M86.16,54a16.38,16.38,0,1,0-32,0H44V102.7H96V54Zm-25.9-3.39a9.89,9.89,0,1,1,19.77,0A9.78,9.78,0,0,1,79.39,54H60.89A9.78,9.78,0,0,1,60.26,50.59ZM70,96.2a6.5,6.5,0,0,1-6.5-6.5,6.39,6.39,0,0,1,3.1-5.4V67h6.5V84.11a6.42,6.42,0,0,1,3.39,5.6A6.5,6.5,0,0,1,70,96.2Z"/> <path d="M86.16,54a16.38,16.38,0,1,0-32,0H44V102.7H96V54Zm-25.9-3.39a9.89,9.89,0,1,1,19.77,0A9.78,9.78,0,0,1,79.39,54H60.89A9.78,9.78,0,0,1,60.26,50.59ZM70,96.2a6.5,6.5,0,0,1-6.5-6.5,6.39,6.39,0,0,1,3.1-5.4V67h6.5V84.11a6.42,6.42,0,0,1,3.39,5.6A6.5,6.5,0,0,1,70,96.2Z"/>
</g> </g>
</svg> </svg>
<span class="loginErrorSpan" id="loginPasswordError">* Required</span> <span class="loginErrorSpan" id="loginPasswordError">* Requerido</span>
<input id="loginPassword" class="loginField" type="password" placeholder="PASSWORD"/> <input id="loginPassword" class="loginField" type="password" placeholder="PASSWORD"/>
</div> </div>
<div id="loginOptions"> <div id="loginOptions">
<span class="loginSpanDim"> <span class="loginSpanDim">
<a href="https://my.minecraft.net/en-us/password/forgot/">forgot password?</a> <a href="https://my.minecraft.net/en-us/password/forgot/">¿Te olvidaste tu contraseña?</a>
</span> </span>
<label id="checkmarkContainer"> <label id="checkmarkContainer">
<input id="loginRememberOption" type="checkbox" checked> <input id="loginRememberOption" type="checkbox" checked>
<span id="loginRememberText" class="loginSpanDim">remember me?</span> <span id="loginRememberText" class="loginSpanDim">Recuerdame</span>
<span class="loginCheckmark"></span> <span class="loginCheckmark"></span>
</label> </label>
</div> </div>

View File

@ -25,16 +25,10 @@
<div id="settingsContainerRight"> <div id="settingsContainerRight">
<div id="settingsTabAccount" class="settingsTab"> <div id="settingsTabAccount" class="settingsTab">
<div class="settingsTabHeader"> <div class="settingsTabHeader">
<span class="settingsTabHeaderText">Account Settings</span> <span class="settingsTabHeaderText">Configuración de la cuenta</span>
<span class="settingsTabHeaderDesc">Add new accounts or manage existing ones.</span>
</div>
<div id="settingsAddAccountContainer">
<button id="settingsAddAccount">
<span id="settingsAddAccountText">&#43; Add Account</span>
</button>
</div> </div>
<div id="settingsCurrentAccountsHeader"> <div id="settingsCurrentAccountsHeader">
<span class="settingsFieldTitle">Current Accounts</span> <span class="settingsFieldTitle">Cuenta actual</span>
</div> </div>
<div id="settingsCurrentAccounts"> <div id="settingsCurrentAccounts">
<!-- Auth accounts populated here. --> <!-- Auth accounts populated here. -->
@ -42,11 +36,11 @@
</div> </div>
<div id="settingsTabMinecraft" class="settingsTab" style="display: none;"> <div id="settingsTabMinecraft" class="settingsTab" style="display: none;">
<div class="settingsTabHeader"> <div class="settingsTabHeader">
<span class="settingsTabHeaderText">Minecraft Settings</span> <span class="settingsTabHeaderText">Configuración de Minecraft</span>
<span class="settingsTabHeaderDesc">Options related to game launch.</span> <span class="settingsTabHeaderDesc">Opciones relacionadas acerca de como se ejecuta el juego.</span>
</div> </div>
<div id="settingsGameResolutionContainer"> <div id="settingsGameResolutionContainer">
<span class="settingsFieldTitle">Game Resolution</span> <span class="settingsFieldTitle">Resolución</span>
<div id="settingsGameResolutionContent"> <div id="settingsGameResolutionContent">
<input type="number" id="settingsGameWidth" min="0" cValue="GameWidth"> <input type="number" id="settingsGameWidth" min="0" cValue="GameWidth">
<div id="settingsGameResolutionCross">&#10006;</div> <div id="settingsGameResolutionCross">&#10006;</div>
@ -55,7 +49,7 @@
</div> </div>
<div class="settingsFieldContainer"> <div class="settingsFieldContainer">
<div class="settingsFieldLeft"> <div class="settingsFieldLeft">
<span class="settingsFieldTitle">Launch in fullscreen.</span> <span class="settingsFieldTitle">Iniciar en pantalla completa</span>
</div> </div>
<div class="settingsFieldRight"> <div class="settingsFieldRight">
<label class="toggleSwitch"> <label class="toggleSwitch">
@ -65,20 +59,10 @@
</div> </div>
</div> </div>
<div class="settingsFieldContainer"> <div class="settingsFieldContainer">
<div class="settingsFieldLeft">
<span class="settingsFieldTitle">Automatically connect to the server on launch.</span>
</div>
<div class="settingsFieldRight">
<label class="toggleSwitch">
<input type="checkbox" cValue="AutoConnect">
<span class="toggleSwitchSlider"></span>
</label>
</div>
</div> </div>
<div class="settingsFieldContainer"> <div class="settingsFieldContainer">
<div class="settingsFieldLeft"> <div class="settingsFieldLeft">
<span class="settingsFieldTitle">Launch game process detached from launcher.</span> <span class="settingsFieldTitle">No cerrar el launcher al cerrar el juego</span>
<span class="settingsFieldDesc">If the game is not detached, closing the launcher will also close the game.</span>
</div> </div>
<div class="settingsFieldRight"> <div class="settingsFieldRight">
<label class="toggleSwitch"> <label class="toggleSwitch">
@ -88,6 +72,7 @@
</div> </div>
</div> </div>
</div> </div>
<!--
<div id="settingsTabMods" class="settingsTab" style="display: none;"> <div id="settingsTabMods" class="settingsTab" style="display: none;">
<div class="settingsTabHeader"> <div class="settingsTabHeader">
<span class="settingsTabHeaderText">Mod Settings</span> <span class="settingsTabHeaderText">Mod Settings</span>
@ -138,17 +123,18 @@
</div> </div>
</div> </div>
</div> </div>
-->
<div id="settingsTabJava" class="settingsTab" style="display: none;"> <div id="settingsTabJava" class="settingsTab" style="display: none;">
<div class="settingsTabHeader"> <div class="settingsTabHeader">
<span class="settingsTabHeaderText">Java Settings</span> <span class="settingsTabHeaderText">Configuración de Java</span>
<span class="settingsTabHeaderDesc">Manage the Java configuration (advanced).</span> <span class="settingsTabHeaderDesc">Configura a tu manera como se inicia Java [Para usuarios avanzados].</span>
</div> </div>
<div id="settingsMemoryContainer"> <div id="settingsMemoryContainer">
<div id="settingsMemoryTitle">Memory</div> <div id="settingsMemoryTitle">Memoria</div>
<div id="settingsMemoryContent"> <div id="settingsMemoryContent">
<div id="settingsMemoryContentLeft"> <div id="settingsMemoryContentLeft">
<div class="settingsMemoryContentItem"> <div class="settingsMemoryContentItem">
<span class="settingsMemoryHeader">Maximum RAM</span> <span class="settingsMemoryHeader">Uso de RAM máximo</span>
<div class="settingsMemoryActionContainer"> <div class="settingsMemoryActionContainer">
<div id="settingsMaxRAMRange" class="rangeSlider" cValue="MaxRAM" min="3" max="8" value="3" step="0.5"> <div id="settingsMaxRAMRange" class="rangeSlider" cValue="MaxRAM" min="3" max="8" value="3" step="0.5">
<div class="rangeSliderBar"></div> <div class="rangeSliderBar"></div>
@ -158,7 +144,7 @@
</div> </div>
</div> </div>
<div class="settingsMemoryContentItem"> <div class="settingsMemoryContentItem">
<span class="settingsMemoryHeader">Minimum RAM</span> <span class="settingsMemoryHeader">Uso de RAM mínimo</span>
<div class="settingsMemoryActionContainer"> <div class="settingsMemoryActionContainer">
<div id="settingsMinRAMRange" class="rangeSlider" cValue="MinRAM" min="3" max="8" value="3" step="0.5"> <div id="settingsMinRAMRange" class="rangeSlider" cValue="MinRAM" min="3" max="8" value="3" step="0.5">
<div class="rangeSliderBar"></div> <div class="rangeSliderBar"></div>
@ -167,16 +153,16 @@
<span id="settingsMinRAMLabel" class="settingsMemoryLabel">3G</span> <span id="settingsMinRAMLabel" class="settingsMemoryLabel">3G</span>
</div> </div>
</div> </div>
<div id="settingsMemoryDesc">The recommended minimum RAM is 3 gigabytes. Setting the minimum and maximum values to the same value may reduce lag.</div> <div id="settingsMemoryDesc">El mínimo recomendado es de 3GB. Usar diferentes niveles de máximo y mínimo puede dar lag.</div>
</div> </div>
<div id="settingsMemoryContentRight"> <div id="settingsMemoryContentRight">
<div id="settingsMemoryStatus"> <div id="settingsMemoryStatus">
<div class="settingsMemoryStatusContainer"> <div class="settingsMemoryStatusContainer">
<span class="settingsMemoryStatusTitle">Total</span> <span class="settingsMemoryStatusTitle">RAM Total</span>
<span id="settingsMemoryTotal" class="settingsMemoryStatusValue">16G</span> <span id="settingsMemoryTotal" class="settingsMemoryStatusValue">16G</span>
</div> </div>
<div class="settingsMemoryStatusContainer"> <div class="settingsMemoryStatusContainer">
<span class="settingsMemoryStatusTitle">Available</span> <span class="settingsMemoryStatusTitle">RAM Disponible</span>
<span id="settingsMemoryAvail" class="settingsMemoryStatusValue">7.3G</span> <span id="settingsMemoryAvail" class="settingsMemoryStatusValue">7.3G</span>
</div> </div>
</div> </div>
@ -184,9 +170,9 @@
</div> </div>
</div> </div>
<div class="settingsFileSelContainer"> <div class="settingsFileSelContainer">
<div class="settingsFileSelTitle">Java Executable</div> <div class="settingsFileSelTitle">Ejecutable Java</div>
<div class="settingsFileSelContent"> <div class="settingsFileSelContent">
<div id="settingsJavaExecDetails">Selected: Java 8 Update 172 (x64)</div> <div id="settingsJavaExecDetails">Seleccionado: Java 8 Update 172 (x64)</div>
<div class="settingsFileSelActions"> <div class="settingsFileSelActions">
<div class="settingsFileSelIcon"> <div class="settingsFileSelIcon">
<svg class="settingsFileSelSVG" x="0px" y="0px" viewBox="0 0 305.001 305.001"> <svg class="settingsFileSelSVG" x="0px" y="0px" viewBox="0 0 305.001 305.001">
@ -203,13 +189,13 @@
</svg> </svg>
</div> </div>
<input class="settingsFileSelVal" id="settingsJavaExecVal" type="text" value="null" cValue="JavaExecutable" disabled> <input class="settingsFileSelVal" id="settingsJavaExecVal" type="text" value="null" cValue="JavaExecutable" disabled>
<button class="settingsFileSelButton" id="settingsJavaExecSel" dialogTitle="Select Java Executable" dialogDirectory="false">Choose File</button> <button class="settingsFileSelButton" id="settingsJavaExecSel" dialogTitle="Select Java Executable" dialogDirectory="false">Elegir archivo</button>
</div> </div>
</div> </div>
<div class="settingsFileSelDesc">The Java executable is validated before game launch. <strong>Requires Java 8 x64.</strong><br>The path should end with <strong>bin<%= process.platform === 'win32' ? '\\javaw.exe' : '/java' %></strong>.</div> <div class="settingsFileSelDesc">El archivo de Java es validado al iniciar el juego. <strong>Requiere Java 8 x64.</strong><br>El camino debe terminar con <strong>bin<%= process.platform === 'win32' ? '\\javaw.exe' : '/java' %></strong>.</div>
</div> </div>
<div id="settingsJVMOptsContainer"> <div id="settingsJVMOptsContainer">
<div id="settingsJVMOptsTitle">Additional JVM Options</div> <div id="settingsJVMOptsTitle">Opciones de JVM adicionales</div>
<div id="settingsJVMOptsContent"> <div id="settingsJVMOptsContent">
<div class="settingsFileSelIcon"> <div class="settingsFileSelIcon">
<svg class="settingsFileSelSVG" x="0px" y="0px" viewBox="0 0 305.001 305.001"> <svg class="settingsFileSelSVG" x="0px" y="0px" viewBox="0 0 305.001 305.001">
@ -227,18 +213,18 @@
</div> </div>
<input id="settingsJVMOptsVal" cValue="JVMOptions" type="text"> <input id="settingsJVMOptsVal" cValue="JVMOptions" type="text">
</div> </div>
<div id="settingsJVMOptsDesc">Options to be provided to the JVM at runtime. <em>-Xms</em> and <em>-Xmx</em> should not be included.<br><a href="https://docs.oracle.com/javase/8/docs/technotes/tools/<%= process.platform === 'win32' ? 'windows' : 'unix' %>/java.html">Available Options for Java 8</a>.</div> <div id="settingsJVMOptsDesc">Opciones que serán ejecutadas por JVM al correr. <em>-Xms</em> and <em>-Xmx</em> no deben ser incluidas.<br><a href="https://docs.oracle.com/javase/8/docs/technotes/tools/<%= process.platform === 'win32' ? 'windows' : 'unix' %>/java.html">Opciones disponibles para Java 8</a>.</div>
</div> </div>
</div> </div>
<div id="settingsTabLauncher" class="settingsTab" style="display: none;"> <div id="settingsTabLauncher" class="settingsTab" style="display: none;">
<div class="settingsTabHeader"> <div class="settingsTabHeader">
<span class="settingsTabHeaderText">Launcher Settings</span> <span class="settingsTabHeaderText">Configuración del launcher</span>
<span class="settingsTabHeaderDesc">Options related to the launcher itself.</span> <span class="settingsTabHeaderDesc">Opciones relacionadas al launcher en sí.</span>
</div> </div>
<div class="settingsFieldContainer"> <div class="settingsFieldContainer">
<div class="settingsFieldLeft"> <div class="settingsFieldLeft">
<span class="settingsFieldTitle">Allow Pre-Release Updates.</span> <span class="settingsFieldTitle">Permitir actualizaciones pre-lanzamiento.</span>
<span class="settingsFieldDesc">Pre-Releases include new features which may have not been fully tested or integrated.<br>This will always be true if you are using a pre-release version.</span> <span class="settingsFieldDesc">Las actualizaciones pre-lanzamiento pueden contener nuevas funciones que no están testeadas.<br>Esta opción siempre está prendida si estás usando una versión de pre-lanzamiento.</span>
</div> </div>
<div class="settingsFieldRight"> <div class="settingsFieldRight">
<label class="toggleSwitch"> <label class="toggleSwitch">
@ -249,7 +235,7 @@
</div> </div>
<div class="settingsFileSelContainer"> <div class="settingsFileSelContainer">
<div class="settingsFileSelContent"> <div class="settingsFileSelContent">
<div class="settingsFieldTitle" id="settingsDataDirTitle">Data Directory</div> <div class="settingsFieldTitle" id="settingsDataDirTitle">Lugar de almacenamiento</div>
<div class="settingsFileSelActions"> <div class="settingsFileSelActions">
<div class="settingsFileSelIcon"> <div class="settingsFileSelIcon">
<svg class="settingsFileSelSVG"> <svg class="settingsFileSelSVG">
@ -261,22 +247,22 @@
</svg> </svg>
</div> </div>
<input class="settingsFileSelVal" type="text" value="null" cValue="DataDirectory" disabled> <input class="settingsFileSelVal" type="text" value="null" cValue="DataDirectory" disabled>
<button class="settingsFileSelButton" dialogTitle="Select Data Directory" dialogDirectory="true">Choose Folder</button> <button class="settingsFileSelButton" dialogTitle="Select Data Directory" dialogDirectory="true">Elegir carpeta</button>
</div> </div>
</div> </div>
<div class="settingsFileSelDesc">All game files and local Java installations will be stored in the data directory.<br>Screenshots and world saves are stored in the instance folder for the corresponding server configuration.</div> <div class="settingsFileSelDesc">Todos los archivos del juego y las versiones locales de Java se encontrarán en esa carpeta.<br>Los archivos como screenshots se encontrarán en la carpeta de la instancia del servidor en cuestión.</div>
</div> </div>
</div> </div>
<div id="settingsTabAbout" class="settingsTab" style="display: none;"> <div id="settingsTabAbout" class="settingsTab" style="display: none;">
<div class="settingsTabHeader"> <div class="settingsTabHeader">
<span class="settingsTabHeaderText">About</span> <span class="settingsTabHeaderText">Acerca de</span>
<span class="settingsTabHeaderDesc">View information and release notes for the current version.</span> <span class="settingsTabHeaderDesc">Lee información acerca del launcher y de la actual versión.</span>
</div> </div>
<div id="settingsAboutCurrentContainer"> <div id="settingsAboutCurrentContainer">
<div id="settingsAboutCurrentContent"> <div id="settingsAboutCurrentContent">
<div id="settingsAboutCurrentHeadline"> <div id="settingsAboutCurrentHeadline">
<img id="settingsAboutLogo" src="./assets/images/SealCircle.png"> <img id="settingsAboutLogo" src="./assets/images/SealCircle.png">
<span id="settingsAboutTitle">Helios Launcher</span> <span id="settingsAboutTitle">Launcher de Etternal</span>
</div> </div>
<div id="settingsAboutCurrentVersion"> <div id="settingsAboutCurrentVersion">
<div id="settingsAboutCurrentVersionCheck">&#10003;</div> <div id="settingsAboutCurrentVersionCheck">&#10003;</div>
@ -290,11 +276,11 @@
</div> </div>
</div> </div>
<div id="settingsAboutButtons"> <div id="settingsAboutButtons">
<a href="https://github.com/dscalZi/HeliosLauncher" id="settingsAboutSourceButton" class="settingsAboutButton">Source (GitHub)</a> <a href="https://github.com/dscalZi/HeliosLauncher" id="settingsAboutSourceButton" class="settingsAboutButton">Código de fuente</a>
<!-- The following must be included in third-party usage. --> <!-- The following must be included in third-party usage. -->
<!-- <a href="https://github.com/dscalzi/HeliosLauncher" id="settingsAboutSourceButton" class="settingsAboutButton">Original Source</a> --> <a href="https://github.com/dscalzi/HeliosLauncher" id="settingsAboutSourceButton" class="settingsAboutButton">Código de fuente original</a>
<a href="https://github.com/dscalZi/HeliosLauncher/issues" id="settingsAboutSupportButton" class="settingsAboutButton">Support</a> <a href="https://github.com/dscalZi/HeliosLauncher/issues" id="settingsAboutSupportButton" class="settingsAboutButton">Soporte</a>
<a href="#" id="settingsAboutDevToolsButton" class="settingsAboutButton">DevTools Console</a> <a href="#" id="settingsAboutDevToolsButton" class="settingsAboutButton">Consola</a>
</div> </div>
</div> </div>
<div class="settingsChangelogContainer"> <div class="settingsChangelogContainer">

View File

@ -18,10 +18,10 @@ function getCurrentPlatform(){
builder.build({ builder.build({
targets: (process.argv[2] != null && Platform[process.argv[2]] != null ? Platform[process.argv[2]] : getCurrentPlatform()).createTarget(), targets: (process.argv[2] != null && Platform[process.argv[2]] != null ? Platform[process.argv[2]] : getCurrentPlatform()).createTarget(),
config: { config: {
appId: 'helioslauncher', appId: 'etternal',
productName: 'Helios Launcher', productName: 'Etternal Launcher',
artifactName: '${productName}-setup-${version}.${ext}', artifactName: '${productName}-setup-${version}.${ext}',
copyright: 'Copyright © 2018-2020 Daniel Scalzi', copyright: 'Copyright © 2018-2020 Etternal.red & Daniel Scalzi',
directories: { directories: {
buildResources: 'build', buildResources: 'build',
output: 'dist' output: 'dist'

View File

@ -193,16 +193,19 @@ function createMenu() {
} }
function getPlatformIcon(filename){ function getPlatformIcon(filename){
const opSys = process.platform let ext
if (opSys === 'darwin') { switch(process.platform) {
filename = filename + '.icns' case 'win32':
} else if (opSys === 'win32') { ext = 'ico'
filename = filename + '.ico' break
} else { case 'darwin':
filename = filename + '.png' case 'linux':
default:
ext = 'png'
break
} }
return path.join(__dirname, 'app', 'assets', 'images', filename) return path.join(__dirname, 'app', 'assets', 'images', `${filename}.${ext}`)
} }
app.on('ready', createWindow) app.on('ready', createWindow)

269
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "helioslauncher", "name": "etternal",
"version": "1.7.0", "version": "1.0.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -171,9 +171,9 @@
"dev": true "dev": true
}, },
"@types/fs-extra": { "@types/fs-extra": {
"version": "8.1.1", "version": "9.0.1",
"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.1.tgz", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.1.tgz",
"integrity": "sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w==", "integrity": "sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
@ -303,26 +303,26 @@
"dev": true "dev": true
}, },
"app-builder-lib": { "app-builder-lib": {
"version": "22.6.1", "version": "22.7.0",
"resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.6.1.tgz", "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.7.0.tgz",
"integrity": "sha512-ENL7r+H7IBfDb4faeLASgndsXrAT7AV7m7yJjcpbFDXYma6an7ZWGFIvR0HJrsfiC5TIB8kdLJ/aMSImrrSi/Q==", "integrity": "sha512-blRKwV8h0ztualXS50ciCTo39tbuDGNS+ldcy8+KLvKXuT6OpYnSJ7M6MSfPT+xWatshMHJV1rJx3Tl+k/Sn/g==",
"dev": true, "dev": true,
"requires": { "requires": {
"7zip-bin": "~5.0.3", "7zip-bin": "~5.0.3",
"@develar/schema-utils": "~2.6.5", "@develar/schema-utils": "~2.6.5",
"async-exit-hook": "^2.0.1", "async-exit-hook": "^2.0.1",
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
"builder-util": "22.6.1", "builder-util": "22.7.0",
"builder-util-runtime": "8.7.0", "builder-util-runtime": "8.7.1",
"chromium-pickle-js": "^0.2.0", "chromium-pickle-js": "^0.2.0",
"debug": "^4.1.1", "debug": "^4.2.0",
"ejs": "^3.1.2", "ejs": "^3.1.3",
"electron-publish": "22.6.1", "electron-publish": "22.7.0",
"fs-extra": "^9.0.0", "fs-extra": "^9.0.0",
"hosted-git-info": "^3.0.4", "hosted-git-info": "^3.0.4",
"is-ci": "^2.0.0", "is-ci": "^2.0.0",
"isbinaryfile": "^4.0.6", "isbinaryfile": "^4.0.6",
"js-yaml": "^3.13.1", "js-yaml": "^3.14.0",
"lazy-val": "^1.0.4", "lazy-val": "^1.0.4",
"minimatch": "^3.0.4", "minimatch": "^3.0.4",
"normalize-package-data": "^2.5.0", "normalize-package-data": "^2.5.0",
@ -330,6 +330,37 @@
"sanitize-filename": "^1.6.3", "sanitize-filename": "^1.6.3",
"semver": "^7.3.2", "semver": "^7.3.2",
"temp-file": "^3.3.7" "temp-file": "^3.3.7"
},
"dependencies": {
"builder-util-runtime": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz",
"integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==",
"dev": true,
"requires": {
"debug": "^4.2.0",
"sax": "^1.2.4"
}
},
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
"integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
},
"js-yaml": {
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
"integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
}
}
} }
}, },
"argparse": { "argparse": {
@ -504,27 +535,37 @@
"dev": true "dev": true
}, },
"builder-util": { "builder-util": {
"version": "22.6.1", "version": "22.7.0",
"resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.6.1.tgz", "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.7.0.tgz",
"integrity": "sha512-A9cF+bSHqRTSKIUHEyE92Tl0Uh12N7yZRH9bccIL3gRUwtp6ulF28LsjNIWTSQ1clZo2M895cT5PCrKzjPQFVg==", "integrity": "sha512-UV3MKL0mwjMq2y9JlBf28Cegpj0CrIXcjGkO0TXn+QZ6Yy9rY6lHOuUvpQ19ct2Qh1o+QSwH3Q1nKUf5viJBBg==",
"dev": true, "dev": true,
"requires": { "requires": {
"7zip-bin": "~5.0.3", "7zip-bin": "~5.0.3",
"@types/debug": "^4.1.5", "@types/debug": "^4.1.5",
"@types/fs-extra": "^8.1.0", "@types/fs-extra": "^9.0.1",
"app-builder-bin": "3.5.9", "app-builder-bin": "3.5.9",
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
"builder-util-runtime": "8.7.0", "builder-util-runtime": "8.7.1",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"debug": "^4.1.1", "debug": "^4.2.0",
"fs-extra": "^9.0.0", "fs-extra": "^9.0.0",
"is-ci": "^2.0.0", "is-ci": "^2.0.0",
"js-yaml": "^3.13.1", "js-yaml": "^3.14.0",
"source-map-support": "^0.5.19", "source-map-support": "^0.5.19",
"stat-mode": "^1.0.0", "stat-mode": "^1.0.0",
"temp-file": "^3.3.7" "temp-file": "^3.3.7"
}, },
"dependencies": { "dependencies": {
"builder-util-runtime": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz",
"integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==",
"dev": true,
"requires": {
"debug": "^4.2.0",
"sax": "^1.2.4"
}
},
"chalk": { "chalk": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
@ -534,6 +575,25 @@
"ansi-styles": "^4.1.0", "ansi-styles": "^4.1.0",
"supports-color": "^7.1.0" "supports-color": "^7.1.0"
} }
},
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
"integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
},
"js-yaml": {
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
"integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
}
} }
} }
}, },
@ -870,17 +930,29 @@
} }
}, },
"dmg-builder": { "dmg-builder": {
"version": "22.6.1", "version": "22.7.0",
"resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.6.1.tgz", "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.7.0.tgz",
"integrity": "sha512-jUTN0acP15puzevtQASj7QEPgUGpedWSuSnOwR/++JbeYRTwU2oro09h/KZnaeMcxgxjdmT3tYLJeY1XUfPbRg==", "integrity": "sha512-5Ea2YEz6zSNbyGzZD+O9/MzmaXb6oa15cSKWo4JQ1xP4rorOpte7IOj2jcwYjtc+Los2gu1lvT314OC1OZIWgg==",
"dev": true, "dev": true,
"requires": { "requires": {
"app-builder-lib": "22.6.1", "app-builder-lib": "22.7.0",
"builder-util": "22.6.1", "builder-util": "22.7.0",
"fs-extra": "^9.0.0", "fs-extra": "^9.0.0",
"iconv-lite": "^0.5.1", "iconv-lite": "^0.5.1",
"js-yaml": "^3.13.1", "js-yaml": "^3.14.0",
"sanitize-filename": "^1.6.3" "sanitize-filename": "^1.6.3"
},
"dependencies": {
"js-yaml": {
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
"integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
}
}
} }
}, },
"doctrine": { "doctrine": {
@ -953,9 +1025,9 @@
} }
}, },
"electron": { "electron": {
"version": "9.0.0", "version": "9.0.2",
"resolved": "https://registry.npmjs.org/electron/-/electron-9.0.0.tgz", "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.2.tgz",
"integrity": "sha512-JsaSQNPh+XDYkLj8APtVKTtvpb86KIG57W5OOss4TNrn8L3isC9LsCITwfnVmGIXHhvX6oY/weCtN5hAAytjVg==", "integrity": "sha512-+a3KegLvQXVjC3b6yBWwZmtWp3tHf9ut27yORAWHO9JRFtKfNf88fi1UvTPJSW8R0sUH7ZEdzN6A95T22KGtlA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@electron/get": "^1.0.1", "@electron/get": "^1.0.1",
@ -964,18 +1036,18 @@
} }
}, },
"electron-builder": { "electron-builder": {
"version": "22.6.1", "version": "22.7.0",
"resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.6.1.tgz", "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.7.0.tgz",
"integrity": "sha512-3/VNg9GfXKHM53TilFtfF1+bsAR8THK1XHgeqCpsiequa02J9jTPc/DhpCUKQPkrs6/EIGxP7uboop7XYoew0Q==", "integrity": "sha512-t6E3oMutpST64YWbZCg7HodEwJOsnjUF1vnDIHm2MW6CFZPX8tlCK6efqaV66LU0E0Nkp/JH6TE5bCqQ1+VdPQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/yargs": "^15.0.5", "@types/yargs": "^15.0.5",
"app-builder-lib": "22.6.1", "app-builder-lib": "22.7.0",
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
"builder-util": "22.6.1", "builder-util": "22.7.0",
"builder-util-runtime": "8.7.0", "builder-util-runtime": "8.7.1",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"dmg-builder": "22.6.1", "dmg-builder": "22.7.0",
"fs-extra": "^9.0.0", "fs-extra": "^9.0.0",
"is-ci": "^2.0.0", "is-ci": "^2.0.0",
"lazy-val": "^1.0.4", "lazy-val": "^1.0.4",
@ -985,6 +1057,16 @@
"yargs": "^15.3.1" "yargs": "^15.3.1"
}, },
"dependencies": { "dependencies": {
"builder-util-runtime": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz",
"integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==",
"dev": true,
"requires": {
"debug": "^4.2.0",
"sax": "^1.2.4"
}
},
"chalk": { "chalk": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
@ -994,25 +1076,44 @@
"ansi-styles": "^4.1.0", "ansi-styles": "^4.1.0",
"supports-color": "^7.1.0" "supports-color": "^7.1.0"
} }
},
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
"integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
} }
} }
}, },
"electron-publish": { "electron-publish": {
"version": "22.6.1", "version": "22.7.0",
"resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.6.1.tgz", "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.7.0.tgz",
"integrity": "sha512-/MkS47ospdSfAFW5Jp52OzYou14HhGJpZ51uAc3GJ5rCfACeqpimC/n1ajRLE3hcXxTWfd3t9MCuClq5jrUO5w==", "integrity": "sha512-hmU69xlb6vvAV3QfpHYDlkdZMFdBAgDbptoxbLFrnTq5bOkcL8AaDbvxeoZ4+lvqgs29NwqGpkHo2oN+p/hCfg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/fs-extra": "^8.1.0", "@types/fs-extra": "^9.0.1",
"bluebird-lst": "^1.0.9", "bluebird-lst": "^1.0.9",
"builder-util": "22.6.1", "builder-util": "22.7.0",
"builder-util-runtime": "8.7.0", "builder-util-runtime": "8.7.1",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"fs-extra": "^9.0.0", "fs-extra": "^9.0.0",
"lazy-val": "^1.0.4", "lazy-val": "^1.0.4",
"mime": "^2.4.5" "mime": "^2.4.5"
}, },
"dependencies": { "dependencies": {
"builder-util-runtime": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz",
"integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==",
"dev": true,
"requires": {
"debug": "^4.2.0",
"sax": "^1.2.4"
}
},
"chalk": { "chalk": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
@ -1023,10 +1124,19 @@
"supports-color": "^7.1.0" "supports-color": "^7.1.0"
} }
}, },
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
"integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
},
"mime": { "mime": {
"version": "2.4.5", "version": "2.4.6",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz", "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
"integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==", "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
"dev": true "dev": true
} }
} }
@ -1118,9 +1228,9 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
}, },
"eslint": { "eslint": {
"version": "7.0.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.0.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.1.0.tgz",
"integrity": "sha512-qY1cwdOxMONHJfGqw52UOpZDeqXy8xmD0u8CT6jIstil72jkhURC704W8CFyTPDPllz4z4lu0Ql1+07PG/XdIg==", "integrity": "sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.0.0", "@babel/code-frame": "^7.0.0",
@ -1518,19 +1628,19 @@
} }
}, },
"global-agent": { "global-agent": {
"version": "2.1.8", "version": "2.1.12",
"resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.8.tgz", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz",
"integrity": "sha512-VpBe/rhY6Rw2VDOTszAMNambg+4Qv8j0yiTNDYEXXXxkUNGWLHp8A3ztK4YDBbFNcWF4rgsec6/5gPyryya/+A==", "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==",
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"boolean": "^3.0.0", "boolean": "^3.0.1",
"core-js": "^3.6.4", "core-js": "^3.6.5",
"es6-error": "^4.1.1", "es6-error": "^4.1.1",
"matcher": "^2.1.0", "matcher": "^3.0.0",
"roarr": "^2.15.2", "roarr": "^2.15.3",
"semver": "^7.1.2", "semver": "^7.3.2",
"serialize-error": "^5.0.0" "serialize-error": "^7.0.1"
} }
}, },
"global-dirs": { "global-dirs": {
@ -2071,19 +2181,19 @@
} }
}, },
"matcher": { "matcher": {
"version": "2.1.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
"integrity": "sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"escape-string-regexp": "^2.0.0" "escape-string-regexp": "^4.0.0"
}, },
"dependencies": { "dependencies": {
"escape-string-regexp": { "escape-string-regexp": {
"version": "2.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true, "dev": true,
"optional": true "optional": true
} }
@ -2673,13 +2783,22 @@
} }
}, },
"serialize-error": { "serialize-error": {
"version": "5.0.0", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-5.0.0.tgz", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
"integrity": "sha512-/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==", "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"type-fest": "^0.8.0" "type-fest": "^0.13.1"
},
"dependencies": {
"type-fest": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
"integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
"dev": true,
"optional": true
}
} }
}, },
"set-blocking": { "set-blocking": {
@ -2763,9 +2882,9 @@
} }
}, },
"spdx-correct": { "spdx-correct": {
"version": "3.1.0", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
"integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
"dev": true, "dev": true,
"requires": { "requires": {
"spdx-expression-parse": "^3.0.0", "spdx-expression-parse": "^3.0.0",
@ -3059,9 +3178,9 @@
} }
}, },
"tslib": { "tslib": {
"version": "1.11.2", "version": "1.13.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
"integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==", "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true "dev": true
}, },
"tunnel": { "tunnel": {

View File

@ -1,14 +1,11 @@
{ {
"name": "helioslauncher", "name": "etternal",
"version": "1.7.0", "version": "1.0.0",
"productName": "Helios Launcher", "productName": "Etternal Launcher",
"description": "Modded Minecraft Launcher", "description": "Launcher para jugar al servidor de Etternal",
"author": "Daniel Scalzi (https://github.com/dscalzi/)", "author": "Etternal Team & Daniel Scalzi",
"license": "UNLICENSED", "license": "UNLICENSED",
"homepage": "https://github.com/dscalzi/HeliosLauncher", "homepage": "https://etternal.red",
"bugs": {
"url": "https://github.com/dscalzi/HeliosLauncher/issues"
},
"private": true, "private": true,
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
@ -41,9 +38,9 @@
}, },
"devDependencies": { "devDependencies": {
"cross-env": "^7.0.2", "cross-env": "^7.0.2",
"electron": "^9.0.0", "electron": "^9.0.2",
"electron-builder": "^22.6.1", "electron-builder": "^22.7.0",
"eslint": "^7.0.0" "eslint": "^7.1.0"
}, },
"repository": { "repository": {
"type": "git", "type": "git",