Added mojang functions, most of which are pending testing. Once testing is complete, the external 'mojang' module will be removed. The 'Mojang Status' are on the landing page is now displaying the actual statuses of mojang's services. This will be refreshed once every 5 minutes. Enhancements will be made to the UI of this down the line.
This commit is contained in:
@@ -4,7 +4,11 @@ const {AssetGuard} = require(path.join(__dirname, 'assets', 'js', 'assetguard.js
|
||||
const ProcessBuilder = require(path.join(__dirname, 'assets', 'js', 'processbuilder.js'))
|
||||
const ConfigManager = require(path.join(__dirname, 'assets', 'js', 'configmanager.js'))
|
||||
const DiscordWrapper = require(path.join(__dirname, 'assets', 'js', 'discordwrapper.js'))
|
||||
const mojang2 = require(path.join(__dirname, 'assets', 'js', 'mojang.js'))
|
||||
|
||||
let mojangStatusListener
|
||||
|
||||
// Synchronous Listener
|
||||
document.addEventListener('readystatechange', function(){
|
||||
if (document.readyState === 'interactive'){
|
||||
|
||||
@@ -18,6 +22,39 @@ document.addEventListener('readystatechange', function(){
|
||||
// Bind selected server
|
||||
document.getElementById('server_selection').innerHTML = '\u2022 ' + AssetGuard.getServerById(ConfigManager.getGameDirectory(), ConfigManager.getSelectedServer()).name
|
||||
|
||||
|
||||
// Update Mojang Status Color
|
||||
const refreshMojangStatuses = async function(){
|
||||
console.log('Refreshing Mojang Statuses..')
|
||||
try {
|
||||
let status = 'grey'
|
||||
const statuses = await mojang2.status()
|
||||
greenCount = 0
|
||||
for(let i=0; i<statuses.length; i++){
|
||||
if(statuses[i].status === 'yellow' && status !== 'red'){
|
||||
status = 'yellow'
|
||||
continue
|
||||
} else if(statuses[i].status === 'red'){
|
||||
status = 'red'
|
||||
break
|
||||
}
|
||||
++greenCount
|
||||
}
|
||||
if(greenCount == statuses.length){
|
||||
status = 'green'
|
||||
}
|
||||
|
||||
document.getElementById('mojang_status_icon').style.color = mojang2.statusToHex(status)
|
||||
|
||||
} catch (err) {
|
||||
console.error('Unable to refresh Mojang service status..', err)
|
||||
}
|
||||
}
|
||||
|
||||
refreshMojangStatuses()
|
||||
// Set refresh rate to once every 5 minutes.
|
||||
mojangStatusListener = setInterval(refreshMojangStatuses, 300000)
|
||||
|
||||
}
|
||||
}, false)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user